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, 1534 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 ..
Neuester Wissensbeitrag
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

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

Frage von Stefan007 zum Thema Batch & Shell ...

Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Batch & Shell
gelöst Powershell Script mit Zertifikat signieren (5)

Frage von zamsi7 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...