Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Paramterübergabe an PowerShell Script

Frage Microsoft Windows Tools

Mitglied: Otaris

Otaris (Level 1) - Jetzt verbinden

22.01.2014, aktualisiert 13:28 Uhr, 1545 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe ein wenig mit PowerShell herumexperimentiert und bräuchte nun eine kleine Hilfestellung, da ich nicht mehr weiterkomme:


Per PS Befehl möchte ich die Beschreibung (eingetragenes Datum) der Useraccounts auslesen, dazu habe ich mir folgendes erarbeitet:

Get-ADUser -properties * -Filter 'Description -like "**.01.*"' | FT Name, Description



Das klappte auch soweit ganz gut und ich habe den Befehl in ein Script importiert, dass ich dann per CMD aufrufen kann

Script:

  1. Active-Directory-Befehle (AD-Modul) in PowerShell laden
Import-Module ActiveDirectory

  1. Variable für Zeilenumbruch definieren
$nL = [Environment]::NewLine

Get-ADUser -properties * -Filter 'Description -like "**.01.*"' | FT Name, Description



Der Aufruf per CMD erfolgt dann folgendermaßen: powershell.exe -command C:\test.ps1
Auch das funktioniert wunderbar.


Nun möchte ich im nächsten Schritt beim Aufruf des Scripts meinen Filter ändern.

Dazu wäre es mir am liebsten, wenn ich das Script mit dem Parameter JAN aufrufe, soll folgender Befehl ausgeführt werden:
Get-ADUser -properties * -Filter 'Description -like "**.01.*"' | FT Name, Description

Mit dem Parameter FEB soll folgender Befehl ausgeführt werden:
Get-ADUser -properties * -Filter 'Description -like "**.02.*"' | FT Name, Description

etc...

An dieser Stelle komme ich aber nicht mehr weiter. Geht das überhaupt? Wenn ja, wie?
Muss ich dann jeden einzelnen Befehl im Script als Variable definieren, oder kann ich auch nur die eine Zahl die geändert werden soll als Variable definieren?

Für ein wenig Hilfe wäre ich dankbar.
Mitglied: colinardo
LÖSUNG 22.01.2014, aktualisiert um 13:28 Uhr
Hallo Otaris,
kein Problem, die Parameterübergabe machst du so: (Dabei ist wichtig das param() in der ersten Zeile des Scriptes stehen muss)
01.
param ( 
02.
    [String] $par1 
03.
04.
$filter = "" 
05.
switch($par1.ToUpper()){ 
06.
    "JAN"{ $filter = "*.01.*"} 
07.
    "FEB"{ $filter = "*.02.*"} 
08.
    # usw. ... 
09.
    # im Falle das kein passender Wert angegeben wurde setze einen Default-Filter 
10.
    default {$filter = "*"} 
11.
12.
Get-ADUser -Filter "Description -like '$filter'" -properties * | ft Name, Description
Dein Script rufst du dann aus deiner CMD-Shell so auf:
powershell.exe -noexit C:\test.ps1 'JAN'
Grüße Uwe
Bitte warten ..
Mitglied: Otaris
22.01.2014 um 13:15 Uhr
Hallo Uwe,

Vielen Dank schonmal für deine Unterstützung.
Hab es mal probiert, aber so ganz klappt es noch nicht.
Wenn ich das Script auch direkt in PS aufrufe erhalte ich immernoch eine Fehlermeldung und eine Abfrage nach dem Parameter.


8dfe226ad8f22b04b9271e6ee0f0c396 - Klicke auf das Bild, um es zu vergrößern


Würdest du mich da nochmal unterstützen?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 22.01.2014, aktualisiert um 13:28 Uhr
Zitat von Otaris:

Hallo Uwe,

Vielen Dank schonmal für deine Unterstützung.
Hab es mal probiert, aber so ganz klappt es noch nicht.
Wenn ich das Script auch direkt in PS aufrufe erhalte ich immernoch eine Fehlermeldung und eine Abfrage nach

Würdest du mich da nochmal unterstützen?
ahh sorry, habe den -Filter Parameter vergessen, habs oben korrigiert ....

Grüße Uwe
Bitte warten ..
Mitglied: Otaris
22.01.2014 um 13:28 Uhr
Jetzt klappt es. Super! Vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell-Script zum Prüfen ob Datei(en) existieren (2)

Frage von Bonsai0815 zum Thema Batch & Shell ...

Microsoft
PowerShell Script auf Domänen-Rechnern ausführen (3)

Frage von Hoerli zum Thema Microsoft ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...