将域用户添加到两台计算机之一上的本地管理员时,“找不到网络路径”异常

时间:2017-11-01 15:08:09

标签: powershell powershell-v5.0

我对PowerShell不是很熟悉,但我正在努力学习。遗憾的是,我无法在其他地方找到解决这个问题的方法。

这是我的剧本:

Import-Module ActiveDirectory
$DomainName = "OPMEIS"
$UserName = "ClientInstall"

$computers = Get-ADComputer -Filter {OperatingSystem -NotLike "*Server*"} | Select -ExpandProperty Name
foreach ($computer in $computers) {
    try {
        $AdminGroup = [ADSI]"WinNT://$computer/Administrators,group"
        $User = [ADSI]"WinNT://$DomainName/$UserName,user"
        $AdminGroup.Add($User.Path)
    } catch [Exception] {
          echo $_.Exception.GetType().FullName, $_.Exception.Message
    }
}

域中有两台计算机:WORKSTATION1和WORKSTATION2。它们非常相似。奇怪的是,脚本执行它在第一次迭代中应该做的事情(WORKSTATION1)(编辑:我很确定其他人在这台计算机上手动完成它),但在第二次迭代(WORKSTATION2) ,抛出以下异常:

format-default : The following exception occurred while retrieving member "distinguishedName": "The network path was not found.
"
    + CategoryInfo          : NotSpecified: (:) [format-default], ExtendedTypeSystemException
    + FullyQualifiedErrorId : CatchFromBaseGetMember,Microsoft.PowerShell.Commands.FormatDefaultCommand

异常是由AdminGroup变量引起的。 这需要自动化,因为实际的工作站数量是未知的。如果有更好的方法,我很想听,但是让脚本运行会很好。

有什么想法吗?感谢...

PowerShell版本(Windows Server 2016):

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  1770    

修改 突破性发现:我需要将“.local”附加到WORKSTATION2,而不是WORKSTATION1。为什么会这样?

1 个答案:

答案 0 :(得分:0)