正在使用此腳本,但它會收集所有虛擬機并一一停止,即使虛擬機已處于停止狀態
$vm = Get-Azvm
foreach($vms in $vm)
{
$resource = Get-Azvm | where {$_.Statuses -eq "Running"}
if($resource -ne $null)
{
Write-Output "Stopping virtual machine..." $vms
Stop-AzVM -ResourceGroupName $resource.ResourceGroupName -Name $vms -Force
}
else
{
Write-output "Virtual machine not found:" $vms
}
}
uj5u.com熱心網友回復:
基于上述共享需求,我們修改了PowerShell腳本來檢查虛擬機狀態(是否正在運行),如果虛擬機正在運行,您需要使用stop-Azvmcmdlet停止它。
Get-Azvm在我們的本地環境中檢查了以下腳本(在測驗時我們將資源組標志傳遞給了),它作業正常。
$vm = Get-Azvm -Status
foreach($vms in $vm)
{
$statuscheck = Get-AzVM -ResourceGroupName $vms.ResourceGroupName -Name $vms.Name -Status
if($statuscheck.Statuses.DisplayStatus[1] -eq "VM running")
{
Write-Output "Stopping virtual machine...$($vms.Name)"
Stop-AzVM -ResourceGroupName $vms.ResourceGroupName -Name $vms.Name -Force
}
else
{
Write-output "Virtual machine $($vms.Name) is already in stopped state"
}
}
以下是供參考的示例輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/370398.html
上一篇:如何更改某個部門的用戶公司名稱azureadpowershell
下一篇:關于將管理器屬性從CSV匯入AD
