【发布时间】:2018-08-13 08:00:15
【问题描述】:
我有一个将数组作为输入参数的 PowerShell 脚本:
Param(
Parameter(Mandatory=$true)]
[System.String[]] $Adapters
)
Write-Output "Disabling network adapter(s)."
foreach ($adapter in $Adapters) {
Disable-NetAdapterBinding -Name $adapter -ComponentID ms_tcpip6
Write-Host $adapter
}
当我从 MDT 2013 任务序列中调用函数时出现以下错误:
+ ...“E:\Deploy\Scripts\Disable-IPV6.ps1”-适配器@(Teamed_NIC1,Teamed_... 参数列表中缺少参数。这就是我在 MDT 2013 中调用函数的样子:
我怀疑 MDT 以一种意想不到的方式处理引号。
【问题讨论】:
-
在参数块中,尝试这样调用 -->
-Adapters "Teamed_NIC1" "Teamed_NIC2" -
@VivekKumarSingh 这将使用一个命名参数 (
-Adapters "Teamed_NIC1") 和一个未命名参数 ("Teamed_NIC2") 调用脚本。 -
是的@AnsgarWiechers - 我现在意识到,看着你的答案。感谢您指出这一点并教育我们这些人。 :)
-
@AnsgarWiechers 很好的说明。我需要的关键部分是只能在 PowerShell 中识别。
标签: powershell mdt