Ich habe ein Powershell-Skript, das einige Aufgaben in Active Directory und MS Exchange abschließt. Ich muss den Active Directory-Benutzernamen von unserem Anrufprotokollierungssystem übergeben. Das Call-Log-System das Argument übergeben ist einfach.Argument in Powershell übergeben
Das Problem, mit dem ich konfrontiert bin, hat Powershell lesen das Argument in eine Variable.
Ich werde ein Beweis des Konzeptbeispiels zur Verfügung stellen.
Hier ist ein Beispielbefehl, der das Argument in Powershell übergibt. Hier
C:\Users\UserName\Desktop\Test.ps1 -ADusername "Hello World"
ist das Beispielskript:
Param([string]$adusername)
$adusername
pause
Ich erwarte die folgende Ausgabe:
Hello World
Press Enter to continue...:
Dies ist der tatsächliche Ausgang:
Press Enter to continue...:
gerade schlang meine Kopf um dieses Kernkonzept wil Ich helfe mir sehr. Ich konnte keine Beispiele oder Anleitungen finden, die funktionierten, wenn sie auf mein Szenario angewendet wurden. Ich entschuldige mich, wenn dies ein doppelter Beitrag ist, konnte auch auf dieser Seite nichts finden.
EDIT: pro Anfrage, das ist mein ganzes Skript: http://pastebin.com/ktjpLQek
Wo laufen Sie das Skript aus? Es funktioniert von Powershell für mich. (Obwohl ich powershell 5.0 noch nicht benutze.) –
@EtanReisner es scheint auch gut für mich auf 2 zu funktionieren. Ich habe gefunden, dass calling params eine merkwürdige Angelegenheit ist, ohne PowerShell zuerst zu nennen, und oft bestellt $ args [x] scheint die einfachste Route (besonders für einen arg) ... –
@AustinFrench Was meinst du "ohne Powershell zuerst" ? Du meinst von versuchen, ein Powershell-Skript von 'cmd.exe' oder etwas direkt zu starten? –