【问题标题】:How to check if Join a computer to a domain was succeful如何检查将计算机加入域是否成功
【发布时间】:2017-11-20 21:52:19
【问题描述】:

我需要你的帮助...我正在编写一个将计算机添加到域的 powershell 脚本。我已经使用添加计算机完成了此操作,但我的主要问题是我想检查加入是否成功。如果不成功,我想再试一次,直到操作完成。这是脚本:

$j = add-computer -domainname mydomain -credential mydomain\
While ( $j -ne 0){
 $j = add-computer -domainname mydomain -credential mydomain\
}

如果连接完成或未完成,脚本正在运行并且它永远不会结束。

我尝试使用 DO... 直到:

    do { 
    $j = add-computer -domainname mydomain -credential mydomain\ }
until ($j -eq o)

但我遇到了同样的问题......

你能帮帮我吗?

【问题讨论】:

标签: powershell computer-name


【解决方案1】:

您可以为命令“Add-Computer”指定参数“-PassThru”。根据您的输入,命令将如下所示:

$j = Add-Computer -DomainName mydomain -Credential mydomain\ -PassThru

"$j" 现在包含连接成功的信息。您可以通过以下方式获取状态:

$j.HasSucceeded

它会在成功时为您提供“$True”,在错误时为您提供“$False”。 有了这些信息,您可以根据需要形成您的 IF 子句:

IF ( $j.HasSucceeded -eq $false ) { ...

编辑: 一个基于您输入的简单示例:

Do {

    Try {    
        $j = Add-Computer -DomainName mydomain -Credential mydomain\test -PassThru -ErrorAction Stop
    }

    Catch {
        $Error[0].Exception
    }

} While ( $j.HasSucceeded -ne $true )

亲切的问候

【讨论】:

  • 感谢您的帮助。我想使用 while 或 until 因为在加入不会成功的情况下我想,脚本要求用户重新输入凭据。如果我使用 if,检查将只进行一次。
  • 是的,但您可以尝试使用上述子句创建循环。例如While ( $j.HasSucceeded -ne $true ) { ...
  • 您需要进一步的帮助吗?我确实用一个简单的例子编辑了我的答案,你可以把它作为基础......
  • 再次感谢 Walhalla 的帮助!!!对此,我真的非常感激!!!!你的例子正是我正在寻找的。再次感谢您的帮助!
  • 很高兴听到,我能够支持你。如果您将我的帖子标记为答案,我将不胜感激。祝你有美好的一天。
猜你喜欢
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 2023-03-04
  • 2018-05-30
  • 1970-01-01
相关资源
最近更新 更多