【发布时间】:2020-05-18 18:05:54
【问题描述】:
我在 PS 脚本中有一行到 DC 并尝试这样做:
$SWITCH = Invoke-Command -session $s -ScriptBlock {Get-ADOrganizationalUnit -filter * -Property CanonicalName | Where-Object {$_.CanonicalName -eq $using:listBox2.SelectedItem}}
这里是变量: $switch = "OU=office,DC=shahar,DC=local" $s = 使用管理员帐户进入 DC 的凭据。
如果我在没有调用命令的情况下在 DC 上运行这一行,它就可以工作。如果我使用这些凭据运行其他代码行并调用命令,它也可以工作。
如果我在 powershell 上运行这一行(不是作为脚本的一部分)它可以工作。
如果我用实际字符串 ("DC=...") 替换 $switch,它仍然不起作用。 这是错误,我只是无法弄清楚问题所在:
无法绑定参数“身份”。无法将值“OU=Office,DC=shahar,DC=local”转换为类型 “Microsoft.ActiveDirectory.Management.ADOrganizationalUnit”。错误:“无法转换“OU=Office,DC=shahar,DC=local” 要键入的“Deserialized.Microsoft.ActiveDirectory.Management.ADOrganizationalUnit”类型的值 “Microsoft.ActiveDirectory.Management.ADOrganizationalUnit”。 + CategoryInfo : InvalidArgument: (:) [Get-ADOrganizationalUnit], ParameterBindingException +fullyQualifiedErrorId:CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.GetADOrgani 国家单位 + PSComputerName : dc01
任何帮助将不胜感激!
顺便说一下,这样做的目的是从 DC 获取链接到该 OU 的 GPO 的名称。
【问题讨论】:
标签: windows powershell server