Add-Computer

将本地计算机添加到域或工作组。

语法

Add-Computer
   [-ComputerName <String[]>]
   [-LocalCredential <PSCredential>]
   [-UnjoinDomainCredential <PSCredential>]
   -Credential <PSCredential>
   [-DomainName] <String>
   [-OUPath <String>]
   [-Server <String>]
   [-Unsecure]
   [-Options <JoinOptions>]
   [-Restart]
   [-PassThru]
   [-NewName <String>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-Computer
   [-ComputerName <String[]>]
   [-LocalCredential <PSCredential>]
   [-Credential <PSCredential>]
   [-WorkgroupName] <String>
   [-Restart]
   [-PassThru]
   [-NewName <String>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Add-Computer cmdlet 将本地计算机或远程计算机添加到域或工作组,或将它们从一个域移动到另一个域。 如果将计算机添加到没有帐户的域,它还会创建域帐户。

可以使用此 cmdlet 的参数来指定组织单位(OU)和域控制器,或者执行不安全的联接。

若要获取命令的结果,请使用 VerbosePassThru 参数。

示例

示例 1:将本地计算机添加到域,然后重新启动计算机

Add-Computer -DomainName Domain01 -Restart

此命令将本地计算机添加到 Domain01 域,然后重启计算机以使更改生效。

示例 2:将本地计算机添加到工作组

Add-Computer -WorkgroupName WORKGROUP-A

此命令将本地计算机添加到 Workgroup-A 工作组。

示例 3:将本地计算机添加到域

Add-Computer -DomainName Domain01 -Server Domain01\DC01 -PassThru -Verbose

此命令使用 Domain01\DC01 域控制器将本地计算机添加到 Domain01 域。

该命令使用 PassThruVerbose 参数获取有关命令结果的详细信息。

示例 4:使用 OUPath 参数将本地计算机添加到域

Add-Computer -DomainName Domain02 -OUPath "OU=testOU,DC=___domain,DC=Domain,DC=com"

此命令将本地计算机添加到 Domain02 域。 它使用 OUPath 参数为新帐户指定组织单位。

示例 5:使用凭据将本地计算机添加到域

Add-Computer -ComputerName Server01 -LocalCredential Server01\Admin01 -DomainName Domain02 -Credential Domain02\Admin02 -Restart -Force

此命令将 Server01 计算机添加到 Domain02 域。 它使用 LocalCredential 参数指定有权连接到 Server01 计算机的用户帐户。 它使用 Credential 参数指定有权将计算机加入域的用户帐户。 它使用 Restart 参数在联接操作完成后重新启动计算机,强制 参数禁止显示用户确认消息。

示例 6:将一组计算机移动到新域

Add-Computer -ComputerName Server01, Server02, localhost -DomainName Domain02 -LocalCredential Domain01\User01 -UnjoinDomainCredential Domain01\Admin01 -Credential Domain02\Admin01 -Restart

此命令将 Server01 和 Server02 计算机以及本地计算机从 Domain01 移动到 Domain02。

它使用 LocalCredential 参数指定有权连接到三台受影响的计算机的用户帐户。 它使用 UnjoinDomainCredential 参数指定有权从 Domain01 域取消加入计算机的用户帐户,并使用 Credential 参数指定有权将计算机加入 Domain02 域的用户帐户。 它使用 Restart 参数在移动完成后重新启动所有三台计算机。

示例 7:将计算机移动到新域并更改计算机的名称

Add-Computer -ComputerName Server01 -DomainName Domain02 -NewName Server044 -Credential Domain02\Admin01 -Restart

此命令将 Server01 计算机移动到 Domain02,并将计算机名称更改为 Server044。

该命令使用当前用户的凭据连接到 Server01 计算机,并从其当前域取消加入该计算机。 它使用 Credential 参数指定有权将计算机加入 Domain02 域的用户帐户。

示例 8:将文件中列出的计算机添加到新域

Add-Computer -ComputerName (Get-Content Servers.txt) -DomainName Domain02 -Credential Domain02\Admin02 -Options Win9xUpgrade  -Restart

此命令将 Servers.txt 文件中列出的计算机添加到 Domain02 域。 它使用 Options 参数来指定 Win9xUpgrade 选项。 Restart 参数在联接操作完成后重新启动所有新添加的计算机。

参数

-ComputerName

指定要添加到域或工作组的计算机。 默认值为本地计算机。

键入 NetBIOS 名称、Internet 协议 (IP) 地址或每个远程计算机的完全限定域名。 若要指定本地计算机,请键入计算机名称、点(.)或“localhost”。

此参数不依赖于 Windows PowerShell 远程处理。 即使计算机未配置为运行远程命令,也可以使用 Add-ComputerComputerName 参数。

此参数在 Windows PowerShell 3.0 中引入。

类型:String[]
Position:Named
默认值:Local computer
必需:False
接受管道输入:True
接受通配符:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Credential

指定有权将计算机加入新域的用户帐户。 默认值为当前用户。

键入用户名(如“User01”或“Domain01\User01”),或输入 PSCredential 对象,例如由 Get-Credential cmdlet 生成的用户名。 如果键入用户名,系统会提示输入密码。

若要指定有权从当前域中删除计算机的用户帐户,请使用 UnjoinDomainCredential 参数。 若要指定有权连接到远程计算机的用户帐户,请使用 LocalCredential 参数。

类型:PSCredential
别名:DomainCredential
Position:Named
默认值:Current User Account Credentials
必需:False
接受管道输入:False
接受通配符:False

-DomainName

指定将计算机添加到的域。 将计算机添加到域时,此参数是必需的。

类型:String
别名:DN, Domain
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Force

取消用户确认提示。 如果没有此参数,Add-Computer 要求确认添加每台计算机。

此参数在 Windows PowerShell 3.0 中引入。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-LocalCredential

指定有权连接到由 ComputerName 参数指定的计算机的用户帐户。 默认值为当前用户。

键入用户名(如“User01”或“Domain01\User01”),或输入 PSCredential 对象,例如由 Get-Credential cmdlet 生成的用户名。 如果键入用户名,系统会提示输入密码。

若要指定有权将计算机添加到新域的用户帐户,请使用 Credential 参数。 若要指定有权从当前域中删除计算机的用户帐户,请使用 UnjoinDomainCredential 参数。

此参数在 Windows PowerShell 3.0 中引入。

类型:PSCredential
Position:Named
默认值:Current user
必需:False
接受管道输入:False
接受通配符:False

-NewName

为新域中的计算机指定一个新名称。 仅当添加或移动一台计算机时,此参数才有效。

此参数在 Windows PowerShell 3.0 中引入。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Options

指定 Add-Computer 联接操作的高级选项。 在逗号分隔的字符串中输入一个或多个值。

此参数的可接受值为:

  • AccountCreate:创建域帐户。 Add-Computer cmdlet 会在将计算机添加到域时自动创建域帐户。 此选项是出于完整性而包含的。

  • Win9XUpgrade:指示联接操作是 Windows 操作系统升级的一部分。

  • UnsecuredJoin:执行不安全的联接。 若要请求不安全的联接,请使用 不安全 参数或此选项。

  • PasswordPass:执行不安全联接后,将计算机密码设置为 Credential(DomainCredential) 参数的值。 此选项还指示 Credential(DomainCredential) 参数的值是计算机密码,而不是用户密码。 仅当指定了 UnsecuredJoin 选项时,此选项才有效。

-- JoinWithNewName:将新域中的计算机名称重命名为由 NewName 参数指定的名称。 使用 NewName 参数时,将自动设置此选项。 此选项旨在与 Rename-Computer cmdlet 一起使用。 如果使用 Rename-Computer cmdlet 重命名计算机,但不重新启动计算机以使更改生效,则可以使用此参数将计算机加入具有新名称的域。

  • JoinReadOnly:使用现有计算机帐户将计算机加入只读域控制器。 计算机帐户必须添加到密码复制策略的允许列表中,并且必须在加入操作之前将帐户密码复制到只读域控制器。

  • InstallInvoke:设置 JoinDomainOrWorkgroup 方法的 FJoinOptions 参数的 create (0x2) 和 delete (0x4) 标志。 有关 JoinDomainOrWorkgroup 方法的详细信息,请参阅 MSDN 库中Win32_ComputerSystem类 的 JoinDomainOrWorkgroup 方法。 有关这些选项的详细信息,请参阅 MSDN 库中 NetJoinDomain 函数

此参数是在 Windows PowerShell 3.0 中引入的。

类型:JoinOptions
接受的值:AccountCreate, Win9XUpgrade, UnsecuredJoin, PasswordPass, DeferSPNSet, JoinWithNewName, JoinReadOnly, InstallInvoke
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-OUPath

指定域帐户的组织单位(OU)。 以引号输入 OU 的完整可分辨名称。 默认值是域中计算机对象的默认 OU。

类型:String
别名:OU
Position:Named
默认值:The default OU for machine objects for in the ___domain
必需:False
接受管道输入:False
接受通配符:False

-PassThru

返回一个对象,该对象表示正在使用的项。 默认情况下,此 cmdlet 不生成任何输出。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Restart

重启已添加到域或工作组的计算机。 通常需要重启才能使更改生效。

此参数在 Windows PowerShell 3.0 中引入。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Server

指定将计算机添加到域的域控制器的名称。 以 DomainName\ComputerName 格式输入名称。 默认情况下,未指定任何域控制器。

类型:String
别名:DC
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UnjoinDomainCredential

指定有权从当前域中删除计算机的用户帐户。 默认值为当前用户。

键入用户名(如“User01”或“Domain01\User01”),或输入 PSCredential 对象,例如由 Get-Credential cmdlet 生成的用户名。 如果键入用户名,系统会提示输入密码。

将计算机移动到其他域时,请使用此参数。 若要指定有权加入新域的用户帐户,请使用 Credential 参数。 若要指定有权连接到远程计算机的用户帐户,请使用 LocalCredential 参数。

此参数在 Windows PowerShell 3.0 中引入。

类型:PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Unsecure

执行到指定域的不安全联接。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-WorkgroupName

指定将计算机添加到的工作组的名称。 默认值为“WORKGROUP”。

类型:String
别名:WGN
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输入

String

可以通过管道将计算机名称和新名称传递给 Add-Computer Cmdlet。

输出

ComputerChangeInfo

使用 PassThru 参数时,Add-Computer 返回 ComputerChangeInfo 对象。 否则,此 cmdlet 不会生成任何输出。

备注

  • 在 Windows PowerShell 2.0 中,即使服务器存在,Add-ComputerServer 参数也会失败。 在 Windows PowerShell 3.0 中,Server 参数的实现已更改,以便可靠地工作。