我在 Azure 自动化中有一个 powershell runbook,其中包含以下代码:
param
(
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]
[String] $ADMINUSERS,
)
#parse User data
function Get-GroupUser
{
[CmdletBinding()]
Param
(
[Parameter()]
[string]$inputUsers
)
$userlist = $Local:inputUsers.split(',')
if ($Local:inputUsers -notlike "*@*") {
$userlist.replace(' ','')
}
else {
$returnArray = @()
foreach ($user in $($inputUsers | convertFrom-Json)) {
$returnArray += $user.split('@')[0]
}
$returnArray
}
Get-GroupUser -inputUsers $ADMINUSERS
我对 $ADMINUSERS 的第一个输入如下所示:
["johndoe@abc.biz","janedoe@abc.biz"]
当 Runbook 运行时,它会立即失败并出现以下错误:
Cannot process argument transformation on parameter 'ADMINUSERS'. Cannot convert value to type System.String. (Cannot convert value to type System.String. (Cannot convert value to type System.String.))
我对 $ADMINUSERS 的第二个输入如下所示:
johndoe,janedoe
这成功地完成了。
有什么想法可以解决 Azure 自动化运行手册中的第一个输入错误吗?
注意:当我从服务器本地运行两个输入时,它成功完成。