1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| function Get-DeviceCompliance { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [string]$ComputerName )
$tpmStatus = Get-Tpm -ComputerName $ComputerName -ErrorAction SilentlyContinue $bitlocker = Get-BitLockerVolume -MountPoint $env:SystemDrive -ErrorAction SilentlyContinue $avStatus = Get-MpComputerStatus -ErrorAction SilentlyContinue
[PSCustomObject]@{ ComputerName = $ComputerName TPMEnabled = $tpmStatus.TpmPresent SecureBoot = (Confirm-SecureBootUEFI).SecureBootEnabled BitLockerStatus = $bitlocker.VolumeStatus AntivirusEnabled = $avStatus.AMServiceEnabled LastUpdate = (Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 1).InstalledOn } }
$devices = 'PC001','PC002','PC003' $report = $devices | ForEach-Object { Get-DeviceCompliance -ComputerName $_ -Verbose }
$report | Export-Csv -Path "ZeroTrust_Compliance_Report_$(Get-Date -Format yyyyMMdd).csv" -NoTypeInformation
|