我可以通过powershell从虚拟机获取自动夏令时信息吗



我需要获得一个具有"自动调整夏令时?"设置为关闭的虚拟机的CSV。

我认为我无法创建一个同时搜索订阅中所有虚拟机的脚本,因为有关DST的信息不在Azure门户中。那么,也许我可以在每个虚拟机上运行一些东西来获得预期的结果?

有没有任何方法可以使用powershell获取这些信息?谢谢

这里有一个适用于Windows虚拟机的方便脚本:https://devblogs.microsoft.com/scripting/check-for-daylight-savings-time-by-using-powershell/

我自己无法测试,但我认为您只需要查看Get-CimInstance -ClassName Win32_TimeZone返回的DaylightBias属性是否为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

或者,在虚拟机上执行cmdletGet-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

最新更新