Get-Azure VM 的输出是 di
Output of Get-Azure VM is di
我有一个 powershell 脚本,它将 Azure 帐户作为输入,并输出一个 table,每个订阅作为一列,以及按 VM 类型、状态等计算的计数大小。
$VMs = Get-AzureVM | where {$_.Status -eq "StoppedVM"} | select Name, ServiceName, Status
$VMStoppedCnt = $VMs.Count
当我在 powershell 或 powershell ISE 中 运行 ps1 文件时,我的 $VM.Count 值符合预期。但是,当它 运行s 作为计划任务时,所有值 = 0(它仍然输出 table)。
通过 powershell 运行 时的示例输出:
Subscription D2 D4 D14 A1 A2 A3 A7 G4 TotalVMs TotalKnownVMs NonStandardVMs Running Stopped StoppedDeallocated
复制实验室 4 5 0 0 0 0 0 0 13 9 4 9 4
通过任务调度程序调用 powershell 运行 时的示例输出:
Subscription D2 D4 D14 A1 A2 A3 A7 G4 TotalVMs TotalKnownVMs NonStandardVMs Running Stopped StoppedDeallocated
复制实验室 0 0 0 0 0 0 0 0 0 0 0 0 0
哦天哪!!!我第 5 次回答这个问题。 Windows 任务调度程序不会完全 运行 您的 powershell 文件,但是它会将任务显示为已完成状态。无法使用 windows 任务调度程序完成 Azure powershell 调度,因为由于缺少 credentials/certificate 或其他原因,它实际上不会连接到 Azure 控制台。
使用门户获取 Azure 运行 书籍模型。使用相同的代码。我打赌你不能使用 windows 任务调度程序来做到这一点。
一个。大多数 imp- 转到 ASSET 选项卡并添加适当的 windows powershell 凭据(只需使用用户名和密码,与登录 azure 门户时使用的相同)。
b。在 运行 书中添加您的代码。假设您的 powershell 自动化凭据名称是 autoaccount,您的订阅名称是 xxx。在这种情况下,工作流程将是-
workflow autoaccount
{
$Cred = Get-AutomationPSCredential -Name
Add-AzureAccount -Credential $Cred
Select-AzureSubscription -SubscriptionName “xxx”
inlineScript
{
*YOUR CODE HERE*
}
}
c。在此之后,您可以根据需要安排 运行 图书。
希望这篇能帮到你-
http://azure.microsoft.com/blog/2014/11/25/introducing-the-azure-automation-script-converter/ http://azure.microsoft.com/en-us/documentation/articles/automation-create-runbook-from-samples/
谢谢。
我有一个 powershell 脚本,它将 Azure 帐户作为输入,并输出一个 table,每个订阅作为一列,以及按 VM 类型、状态等计算的计数大小。
$VMs = Get-AzureVM | where {$_.Status -eq "StoppedVM"} | select Name, ServiceName, Status
$VMStoppedCnt = $VMs.Count
当我在 powershell 或 powershell ISE 中 运行 ps1 文件时,我的 $VM.Count 值符合预期。但是,当它 运行s 作为计划任务时,所有值 = 0(它仍然输出 table)。
通过 powershell 运行 时的示例输出:
Subscription D2 D4 D14 A1 A2 A3 A7 G4 TotalVMs TotalKnownVMs NonStandardVMs Running Stopped StoppedDeallocated
复制实验室 4 5 0 0 0 0 0 0 13 9 4 9 4
通过任务调度程序调用 powershell 运行 时的示例输出:
Subscription D2 D4 D14 A1 A2 A3 A7 G4 TotalVMs TotalKnownVMs NonStandardVMs Running Stopped StoppedDeallocated
复制实验室 0 0 0 0 0 0 0 0 0 0 0 0 0
哦天哪!!!我第 5 次回答这个问题。 Windows 任务调度程序不会完全 运行 您的 powershell 文件,但是它会将任务显示为已完成状态。无法使用 windows 任务调度程序完成 Azure powershell 调度,因为由于缺少 credentials/certificate 或其他原因,它实际上不会连接到 Azure 控制台。 使用门户获取 Azure 运行 书籍模型。使用相同的代码。我打赌你不能使用 windows 任务调度程序来做到这一点。
一个。大多数 imp- 转到 ASSET 选项卡并添加适当的 windows powershell 凭据(只需使用用户名和密码,与登录 azure 门户时使用的相同)。
b。在 运行 书中添加您的代码。假设您的 powershell 自动化凭据名称是 autoaccount,您的订阅名称是 xxx。在这种情况下,工作流程将是-
workflow autoaccount
{
$Cred = Get-AutomationPSCredential -Name
Add-AzureAccount -Credential $Cred
Select-AzureSubscription -SubscriptionName “xxx”
inlineScript
{
*YOUR CODE HERE*
}
}
c。在此之后,您可以根据需要安排 运行 图书。
希望这篇能帮到你-
http://azure.microsoft.com/blog/2014/11/25/introducing-the-azure-automation-script-converter/ http://azure.microsoft.com/en-us/documentation/articles/automation-create-runbook-from-samples/
谢谢。