问题描述
我是 power-shell 和 cmldt 的新手。
我注册了一个 power-shell 脚本 (.ps1) 名称,如“Invoke-xxDevopDt”作为与 azure 自动化帐户关联的 azure RunBook。该 RunBook 计划在另一个数据上运行以执行一些工作。下面是我用来注册“Invoke-xxDevopDt”(RunBook)的 power-shell 脚本(.ps1),如下所示使用“Register-AzAutomationScheduledRunbook”
param (
[Parameter(Mandatory = $false)]
[string]$resourceGroup='rsgrp_test',[Parameter(Mandatory = $false)]
[string]$automationAccountName='Azureaucnt-test',[Parameter(Mandatory = $false)]
[datetime]$startDateTime='01/05/2021 6:00:00 PM',[Parameter(Mandatory = $false)]
[string]$vmResourceIds='/subscriptions/5454-7d8e-xxx-b628-yy3232/resourceGroups/TSTDEV/providers/Microsoft.Compute/virtualMachines/TSTDevVM',[Parameter(Mandatory = $false)]
[String] $IncludedKBs='4588962',[Parameter(Mandatory = $false)]
[datetime] $vmRestartDateTime='01/06/2021 4:00:00 PM',[Parameter(Mandatory = $false)]
[String] $description = "Automated trigger from C# Program"
)
#do Login-AzAccount to login azure subcription
....
#setting data for
$AddMinutes = 7
# creating an scheduling and registering
$scheduleName = "testAPP_devopsSchedule_" + "$(Get-Date $vmRestartDateTime -UFormat %Y-%m-%d_%A_%H-%M)"
$devopsSchedule = New-AzAutomationSchedule -ResourceGroupName $resourceGroup `
-AutomationAccountName $automationAccountName `
-Name $scheduleName `
-StartTime ($vmRestartDateTime.AddMinutes($AddMinutes)) `
-Onetime -Verbose
#Createing a param for registering another PS-script as RunBook with automation-acnt
$params = @{"serverList"=$vmResourceIds;"testMessage"="test";"description"="Invoking Automation from Automation Account"}
#register 'Invoke-xxDevopDt' is like a ps-script at runBook of automation-acnt
Register-AzAutomationScheduledRunbook –AutomationAccountName $automationAccountName `
–Name 'Invoke-xxDevopDt' –ScheduleName $devopsSchedule.Name –Parameters $params `
-ResourceGroupName $resourceGroup
但是,上面的 ps-script 给出了一个错误,如“Register-AzAutomationScheduledRunbook:找不到接受参数'Invoke-xxDevopDt'的位置参数。”
请帮忙
谢谢,
解决方法
添加答案以关闭此问题。
在我们这边,我们可以成功注册它。根据操作员的评论,问题是由空白引起的,现在它可以工作了。