파워셸 명령 | 파일 아웃

파워셸 명령 | 파일 아웃

문제: 원격 컴퓨터의 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

https://support.microsoft.com/en-us/help/912923/how-to-determine-that-hardware-dep-is-available-and-configured-on-your

관련 정보