PowerShell Script läuft nicht in CMD
Hi zusammen,
ich stolpere gerade über folgendes Problem:
Ich möchte Software Verteilungsgruppen aus dem AD auslesen und dann die Member zählen. Beide Aufrufe funktionieren in der PowerShell. Beim Batch scheitere ich jedoch schon beim ersten Aufruf.
Ich vermute das mein Problem bei den Anführungszeichen nach dem -Filter liegt - finde aber nirgends einen Hinweis wie ich das maskieren kann.
Hier die Fehlermeldung
Vorab schon einmal für Eure Hilfe!
Nagus
ich stolpere gerade über folgendes Problem:
Ich möchte Software Verteilungsgruppen aus dem AD auslesen und dann die Member zählen. Beide Aufrufe funktionieren in der PowerShell. Beim Batch scheitere ich jedoch schon beim ersten Aufruf.
PowerShell -ExecutionPolicy Bypass -Command "& Get-ADgroup -Filter "name -like 'Software*'" | select -exp name"
Ich vermute das mein Problem bei den Anführungszeichen nach dem -Filter liegt - finde aber nirgends einen Hinweis wie ich das maskieren kann.
Hier die Fehlermeldung
Get-ADGroup : Es wurde kein Parameter gefunden, der dem Parameternamen "like" entspricht.
In Zeile:1 Zeichen:28
+ & Get-ADgroup -Filter name -like 'Software*'
+ ~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADGroup], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
Vorab schon einmal für Eure Hilfe!
Nagus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 370365
Url: https://administrator.de/contentid/370365
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
10 Kommentare
Neuester Kommentar
Du hast mehrere Fehler ... Das & gehört in die Tonne und die Anführungszeichen escaped:
Schon witzig wie die Leute hier im Dunkeln stochern, nur damit sie irgendein nutzloses Kommentar abgeben können obwohl sie keine Ahnung vom Thema haben ....
Schnuffi
PowerShell -ExecutionPolicy Bypass -Command "Get-ADGroup -Filter \"name -like 'Software*'\" | select -exp name"
Schnuffi
Das ein Slash vor "name -like ... gehört wusste ich nicht. Im Buch war es auch ohne und das Script ist in der PSC gelaufen.
Dem ist ja auch nicht so.Der Backslash muss nur vor das " . Und das auch nur deshalb, damit die Powershell.exe beim Auswerten der Kommandozeilenparameter weiß, dass beim " vor dem "name" der Parameter nicht aufhört sondern weitergeht. Einfach wie ein Programm "denken":
" kommt --> Parameter fängt an.
Erneut kommt " --> Parameter hört auf.
Damit dem nicht so ist, gibt es das "\", um solche Zeichen als "zum String gehörend" zu kennzeichnen. Das "Script" (es ist ja kein Script sondern nur ein simpler Einzeiler) führst Du doch in der Shell ohne umrahmenden " aus, oder?