
問題:確定遠端電腦資料執行保護 (DEP) 狀態並將結果透過管道傳輸到包含電腦名稱的 txt 檔案。
目前的解決方案:
BCDEdit /enum "{current}" | out-file \\FILESHARE\DEP\DEP.txt -Append
我透過 SCCM 推出腳本,所以我唯一的問題是取得結果中包含的電腦名稱。 SCCM 允許您作為系統在每台電腦上遠端執行腳本,因此我不必擔心 PC 清單的“獲取內容”,只需指向一個集合並在這些系統上執行腳本。
或者,我嘗試在 SCCM 之外執行 Powershell 命令,例如:
$XenServers = get-content -path 'C:\PC_List.txt'
$Results= ForEach ($XenServer in $XenServers)
{
BCDEdit /enum "{current}"
}
$Results | Out-File \\FILESHARE\DEP\DEP.txt
答案1
我建議使用完全 PowerShell 解決方案。根據下面的鏈接,Win32_OperationSystem 類別包含您在 DataExecutionPrevention_SupportPolicy 屬性中尋找的值。從 WMI 查詢傳回的物件還包括 PSComputerName 屬性,因此這是追蹤結果的簡單方法。我不喜歡這種格式,所以我提出了另一個建議。
get-WmiObject Win32_OperatingSystem |
Select-Object PSComputerName, DataExecutionPrevention_SupportPolicy |
Export-Csv -Path \\FILESHARE\DEP\DEP.csv -Append -NoTypeInformation