Sie können PowerShell einfach in einem Batch-Skript verwenden, um die erforderliche Logik in cmd auszuführen, um das Beste aus beiden Welten zu erhalten. Ich habe unten ein einfaches Beispiel eingefügt, in dem Sie einfach den GroupName
Variablenwert so ändern, dass er die Gruppe ist, die Sie abfragen müssen. Dadurch erhalten Sie eine Liste der Mitglieder dieser Gruppe in cmd, genau wie Sie es erwarten.
Da Sie sagten, Sie würden dies auf einem Domänencontroller ausführen, verwenden Sie einfach Get-ADGroupMember und erledigen Sie die Aufgabe mit cmd ganz nach Ihren Wünschen.
Batch Script (nur für Mitglieder einer Gruppe)
Hinweis: Fügen Sie den -Recursive
Schalter hinzu, um ggf. Mitglieder anderer verschachtelter Gruppenmitglieder abzurufen.
@ECHO OFF SET "GroupName=Domain Admins" CALL :DynamicPSScriptBuild SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0 CD /D "%PowerShellDir%" Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'" PAUSE EXIT /B :DynamicPSScriptBuild SET PSScript=%temp%\~tmp%~n0.ps1 IF EXIST "%PSScript%" DEL /Q /F "%PSScript%" ECHO Get-ADGroupMember -Identity "%GroupName%" ^| Select-Object Name>>"%PSScript%" GOTO :EOF
Ausgabebeispiel
Wenn Sie mehr als nur die Gruppenmitglieder der abgefragten Gruppe benötigen, können Sie dieses Detail in einer Variablen speichern und dann das Arrayobjekt der Variablen an eine ForEach-Object- Schleife übergeben und dann den Get-ADUser und iterieren ziehen Sie die spezifischen Eigenschaften nach Bedarf aus.
Batch-Skript (Gruppenmitglieder plus weitere Details)
@ECHO OFF SET "GroupName=Domain Admins" CALL :DynamicPSScriptBuild SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0 CD /D "%PowerShellDir%" Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'" PAUSE EXIT /B :DynamicPSScriptBuild SET PSScript=%temp%\~tmp%~n0.ps1 IF EXIST "%PSScript%" DEL /Q /F "%PSScript%" ECHO $m = Get-ADGroupMember -Identity "domain admins" ^| Select-Object SamAccountName>>"%PSScript%" ECHO $m ^| %% >>"%PSScript%" GOTO :EOF
Ausgabebeispiel
Weitere Ressourcen
- Get-ADGroupMember
- Get-ADUser
-
Standard- Aliase für Foreach-Object: das
'%'
Symbol,ForEach
-
Standard- Aliase für Format-List:
fl