Я не могу проверить это сам, но я думаю, что вам нужно только посмотреть, является ли свойство DaylightBias
, возвращаемое Get-CimInstance -ClassName Win32_TimeZone
, отличным от 0
Get-VM | ForEach-Object {
if ($_.State -eq 'Running') {
$tz = Get-CimInstance -ClassName Win32_TimeZone -ComputerName $_.Name
$dst = if (!$tz.DaylightBias) { 'Off' } else { 'On' }
}
else {
$dst = 'Unknown'
}
[PsCustomObject]@{
'Computer' = $_.Name
'Status' = $_.State
'DaylightSavingTime' = $dst
}
} | Export-Csv -Path 'D:\VM-DstInfo.csv' -NoTypeInformation
Или, возможно, выполнить командлет Get-TimeZone
вВМ даст вам необходимую информацию:
Get-VM | ForEach-Object {
if ($_.State -eq 'Running') {
$tz = Invoke-Command -ComputerName $_.Name -ScriptBlock {Get-TimeZone}
$dst = if (!$tz.SupportsDaylightSavingTime) { 'Off' } else { 'On' }
}
else {
$dst = 'Unknown'
}
[PsCustomObject]@{
'Computer' = $_.Name
'Status' = $_.State
'DaylightSavingTime' = $dst
}
} | Export-Csv -Path 'D:\VM-DstInfo.csv' -NoTypeInformation