共用方式為


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>]

Description

Cmdlet 會將 Add-Computer 本機計算機或遠端電腦新增至網域或工作組,或將它們從一個網域移至另一個網域。 如果計算機新增至沒有帳戶的網域,它也會建立網域帳戶。

您可以使用此 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:使用認證將本機計算機新增至網域

$addComputerSplat = @{
    ComputerName = 'Server01'
    LocalCredential = 'Server01\Admin01'
    DomainName = 'Domain02'
    Credential = 'Domain02\Admin02'
    Restart = $true
    Force = $true
}
Add-Computer @addComputerSplat

此命令會將 Server01 計算機新增至 Domain02 網域。 它會使用 LocalCredential 參數來指定有權連線到 Server01 計算機的用戶帳戶。 它會使用 Credential 參數來指定有權將計算機加入網域的用戶帳戶。 它會使用 Restart 參數在聯結作業完成之後重新啟動電腦,並使用 Force 參數來隱藏使用者確認訊息。

範例 6:將計算機群組移至新網域

$addComputerSplat = @{
    ComputerName = 'Server01', 'Server02', 'localhost'
    DomainName = 'Domain02'
    LocalCredential = 'Domain01\User01'
    UnjoinDomainCredential = 'Domain01\Admin01'
    Credential = 'Domain02\Admin01'
    Restart = $true
}
Add-Computer @addComputerSplat

此命令會將 Server01 和 Server02 計算機以及本機電腦從 Domain01 移至 Domain02。

它會使用 LocalCredential 參數來指定有權連線到三部受影響電腦的用戶帳戶。 它會使用 UnjoinDomainCredential 參數來指定具有從 Domain01 網域取消加入電腦的用戶帳戶,以及 Credential 參數,以指定有權將電腦加入 Domain02 網域的用戶帳戶。 它會使用 Restart 參數,在移動完成後重新啟動這三部計算機。

範例 7:將計算機移至新的網域,並變更計算機的名稱

$addComputerSplat = @{
    ComputerName = 'Server01'
    DomainName = 'Domain02'
    NewName = 'Server044'
    Credential = 'Domain02\Admin01'
    Restart = $true
}
Add-Computer @addComputerSplat

此命令會將 Server01 計算機移至 Domain02,並將電腦名稱變更為 Server044。

此命令會使用目前使用者的認證來連線到 Server01 計算機,並從其目前的網域取消加入它。 它會使用 Credential 參數來指定有權將電腦加入 Domain02 網域的用戶帳戶。

範例 8:將檔案中列出的電腦新增至新網域

$addComputerSplat = @{
    ComputerName = (Get-Content Servers.txt)
    DomainName = 'Domain02'
    Credential = 'Domain02\Admin02'
    Options = 'Win9xUpgrade'
    Restart = $true
}
Add-Computer @addComputerSplat

此命令會將檔案中列出的 Servers.txt 電腦新增至 Domain02 網域。 它會使用 Options 參數來指定 Win9xUpgrade 選項。 Restart 參數會在聯結作業完成之後重新啟動所有新增的計算機。

範例 9:使用預先定義的計算機認證將電腦新增至網域

第一個指令應該由已加入網域 Domain03的電腦系統管理員執行:

$newADComputerSplat = @{
    Name = "Server02"
    AccountPassword = (ConvertTo-SecureString -String 'TempJoinPA$$' -AsPlainText -Force)
}
New-ADComputer @newADComputerSplat

# Then this command is run from `Server02` which is not yet domain-joined:

$joinCred = New-Object pscredential -ArgumentList ([pscustomobject]@{
    UserName = $null
    Password = (ConvertTo-SecureString -String 'TempJoinPA$$' -AsPlainText -Force)[0]
})
$addComputerSplat = @{
    DomainName = "Domain03"
    Options = 'UnsecuredJoin', 'PasswordPass'
    Credential = $joinCred
}
Add-Computer @addComputerSplat

此命令組合會使用現有的已加入網域的計算機,在網域中建立具有預先定義名稱和暫時加入密碼的新計算機帳戶。 然後,具有預先定義名稱的計算機只會使用計算機名稱和暫時加入密碼來聯結網域。 預先定義的密碼僅用於支援聯結作業,並在電腦完成聯結之後取代為一般計算機帳戶程式的一部分。

範例 10:將電腦新增至具有新名稱的網域

使用這個組合的命令可避免在計算機使用新名稱加入網域時,對相同物件的多次重新啟動和多次寫入 Active Directory 寫入。

Rename-Computer -NewName "MyNewPC" -Force
$addComputerSplat = @{
    DomainName = 'Contoso.com'
    Credential = 'contoso\administrator'
    Options = 'JoinWithNewName', 'AccountCreate'
}
Add-Computer @addComputerSplat

參數

-ComputerName

指定要新增至網域或工作組的計算機。 預設是本機電腦。

輸入 NetBIOS 名稱、因特網通訊協定 (IP) 位址,或每個遠端電腦的完整功能變數名稱。 若要指定本機計算機,請輸入計算機名稱、點 (.), 或 “localhost”。

此參數不依賴 Windows PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 Add-Computer ComputerName 參數。

此參數是在 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 物件,例如 Cmdlet 所產生的 Get-Credential 用戶名稱。 如果您輸入使用者名稱,系統會提示您輸入密碼。

若要指定有權從目前網域移除計算機的用戶帳戶,請使用 UnjoinDomainCredential 參數。 若要指定有權連線到遠端電腦的用戶帳戶,請使用 LocalCredential 參數。

類型:PSCredential
別名:DomainCredential
Position:Named
預設值:None
必要: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 物件,例如 Cmdlet 所產生的 Get-Credential 用戶名稱。 如果您輸入使用者名稱,系統會提示您輸入密碼。

若要指定有權將計算機新增至新網域的用戶帳戶,請使用 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:建立網域帳戶。 Cmdlet Add-Computer 會在將電腦新增至網域時自動建立網域帳戶。 此選項包含在完整性中。

  • Win9XUpgrade:指出聯結作業是 Windows 操作系統升級的一部分。

  • UnsecuredJoin:執行不安全的聯結。 若要要求不安全的聯結,請使用 Unsecure 參數或此選項。 如果您想要傳遞電腦密碼,則必須搭配 選項使用此選項 PasswordPass

  • PasswordPass:在執行不安全的聯結之後,將計算機密碼設定為 Credential(DomainCredential) 參數的值。 此選項也表示 Credential (DomainCredential) 參數的值是計算機密碼,而不是用戶密碼。 只有在指定選項時, UnsecuredJoin 此選項才有效。 使用此選項時,提供給 參數-Credential認證必須具有 Null 用戶名稱。

  • JoinWithNewName:將新網域中的計算機名稱重新命名為 NewName 參數所指定的名稱。 當您使用 NewName 參數時,會自動設定此選項。 此選項的設計目的是要與 Rename-Computer Cmdlet 搭配使用。 如果您使用 Rename-Computer Cmdlet 來重新命名電腦,但不要重新啟動電腦以讓變更生效,您可以使用此參數將電腦加入具有新名稱的網域。

  • JoinReadOnly:使用現有的電腦帳戶將計算機加入只讀域控制器。 計算機帳戶必須新增至密碼複寫策略的允許清單,而且帳戶密碼必須在加入作業之前復寫到只讀域控制器。

  • InstallInvoke:設定 JoinDomainOrWorkgroup 方法之 FJoinOptions 參數create (0x2) 和 delete (0x4) 旗標。 如需 JoinDomainOrWorkgroup 方法的詳細資訊,請參閱 Win32_ComputerSystem 類別的 JoinDomainOrWorkgroup 方法。 如需這些選項的詳細資訊,請參閱 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
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PassThru

會傳回 物件,代表您正在使用的專案。 根據預設,此 Cmdlet 不會產生任何輸出。

類型:SwitchParameter
Position:Named
預設值:None
必要: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 物件,例如 Cmdlet 所產生的 Get-Credential 用戶名稱。 如果您輸入使用者名稱,系統會提示您輸入密碼。

當您將電腦移至不同的網域時,請使用此參數。 若要指定具有加入新網域許可權的用戶帳戶,請使用 Credential 參數。 若要指定有權連線到遠端電腦的用戶帳戶,請使用 LocalCredential 參數。

此參數是在 Windows PowerShell 3.0 中引進的。

類型:PSCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Unsecure

對指定的網域執行不安全的聯結。

類型:SwitchParameter
Position:Named
預設值:None
必要: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-Computer Server 參數也會失敗。 在 Windows PowerShell 3.0 中,Server 參數的實作會變更,以便可靠地運作。