2014-07-22 179 views
0

我只需要有一個csv作爲輸出與一列中的服務器的名稱和第二列中的命令的結果。我無法使用export-csv cmdlet,因爲我使用舊版本的PS。非常感謝您的幫助!PowerShell導出列csv結果

$servers = Get-Content -path .\Server_List.txt 

ForEach ($server in $servers) 
{ 
(Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA 
} 
Out-File UAC_audit_results.csv 

回答

1

然後在循環中使用字符串格式化程序,並使用-append輸出文件。或者不要在$ servers中使用ForEach($ server)並將其全部傳輸到out-file文件中,但是您無法像構建它一樣輕鬆管理一個foreach循環。只要確保首先添加標題行。

$servers = Get-Content -path .\Server_List.txt 
"Server,Results"|Out-File UAC_audit_results.csv 
ForEach ($server in $servers) 
{ 
    $RegProp = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA 
    "{0},{1}" -f $server, $RegProp|Out-File UAC_audit_results.csv -append 
} 

或者,(我認爲是更好),管它:

"Server,Results"|Out-File UAC_audit_results.csv 
Get-Content -path .\Server_List.txt |%{"{0},{1}" -f $_, (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System |select -expand EnableLUA)}|Out-File UAC_audit_results.csv -append 
+0

東西是錯誤的。我將所有代碼爲0的服務器(有一些服務器啓用了UAC)作爲返回 –

+0

與文件輸出無關,這與您每次查詢本地計算機的註冊表有關。當你執行Get-ItemProperty調用時,你永遠不會引用另一臺機器,它總是在本地機器上完成。您沒有向查詢遠程註冊表尋求幫助,如果您需要幫助,請爲此提出一個新問題。如果這解決了根據需要輸出CSV的問題,請將答案標記爲已接受,然後繼續用您的更新代碼和問題開啓新問題。 – TheMadTechnician