2017-04-19 64 views
1

我想輸出「網絡組」命令並對其進行解析,以使組成員成爲列表。除此之外,我沒有訪問任何實際的域實用程序。 (所以得到-ADGroupMember不是一個選項)取出網絡組命令的輸出並將其作爲用戶列表

net group /domain MyADGroup 

The request will be processed at a domain controller for domain encana.com. 

Group name  MyADGroup 
Comment  Sccm Deployment 

Members 

------------------------------------------------------------------------------- 

MemberA    MemberB   MemberC 
. 
. 
. 
MemberZ 

The command completed successfully. 

我想的是,剛好有

MemberA MemberB MemberC 的文件。 。 。 MemberZ

它也必須自動化,所以我可以安排它定期運行。 我有什麼到目前爲止,這是 在命令提示符:

net group /domain MyADGroup |more +8 > output.txt 

在電源外殼:

(Get-Content output.txt)|ForEach-Object { $_ -replace "The command completed successfully.", ""}| ForEach-Object { $_ -replace " ", "`n`r"}|Set-Content output2.txt 

我也許可以把這些都變成一個批處理文件。輸出文件有一個額外的行的船載,但我輸入的工具將愉快地忽略它們。我只想簡化一點,不需要額外的幾百行。

+0

您可以使用'for'命令獲得命令的輸出。輸入'for /?'尋求幫助。 – dcg

+0

請正確學習[format](http://stackoverflow.com/help/formatting)代碼!另外,請注意,這不是免費的代碼編寫服務,因此您必須自己嘗試,分享您的努力,並準確描述您卡住的位置!閱讀此幫助主題:[問] – aschipfl

回答

0

我做了一個小腳本,首先將所有組保存到一個「數組」中,然後將它們全部輸出。您可以根據需要改變它。在WinServer 2003和WinServer 2012上測試它。希望它有幫助。

@echo off 

setlocal EnableDelayedExpansion 
set "count=0" 

for /f "delims=* skip=4" %%i in ('net group') do (
    set /a "count+=1" 
    set "groups[!count!]=%%i" 
) 

set /a "count-=1" 
for /l %%i in (1,1,!count!) do (
    echo(!groups[%%i]! 
) 
+0

關閉我需要的東西。我只需要一個小組,但我認爲我可以根據需要進行調整。謝謝! –

相關問題