次の方法で共有


Add-Computer

ローカル コンピューターをドメインまたはワークグループに追加します。

構文

Domain (既定)

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

Workgroup

Add-Computer
    [-WorkgroupName] <String>
    [-ComputerName <String[]>]
    [-LocalCredential <PSCredential>]
    [-Credential <PSCredential>]
    [-Restart]
    [-PassThru]
    [-NewName <String>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

Add-Computer コマンドレットは、ローカル コンピューターまたはリモート コンピューターをドメインまたはワークグループに追加するか、ドメイン間で移動します。 また、コンピューターがアカウントなしでドメインに追加された場合は、ドメイン アカウントも作成されます。

このコマンドレットのパラメーターを使用して、組織単位 (OU) とドメイン コントローラーを指定したり、セキュリティで保護されていない結合を実行したりできます。

コマンドの結果を取得するには、詳細 を使用し、PassThru パラメーター します。

例 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 パラメーターを使用して、影響を受ける 3 台のコンピューターに接続するアクセス許可を持つユーザー アカウントを指定します。 UnjoinDomainCredential パラメーターを使用して、Domain01 ドメインからコンピューターの参加を解除するアクセス許可を持つユーザー アカウントと Credential パラメーターを指定して、コンピューターを Domain02 ドメインに参加させるアクセス許可を持つユーザー アカウントを指定します。 Restart パラメーターを使用して、移動が完了した後に 3 台のコンピューターをすべて再起動します。

例 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 パラメーターを使用できます。

このパラメーターは、Windows PowerShell 3.0 で導入されています。

パラメーターのプロパティ

型:

String[]

規定値:Local computer
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Credential

コンピューターを新しいドメインに参加させるアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

"User01" や "Domain01\User01" などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

コンピューターを現在のドメインから削除するアクセス許可を持つユーザー アカウントを指定するには、UnjoinDomainCredential パラメーターを使用します。 リモート コンピューターに接続するアクセス許可を持つユーザー アカウントを指定するには、LocalCredential パラメーターを使用します。

パラメーターのプロパティ

型:PSCredential
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:DomainCredential

パラメーター セット

Domain
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
Workgroup
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DomainName

コンピューターを追加するドメインを指定します。 このパラメーターは、コンピューターをドメインに追加するときに必要です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:DN, ドメイン

パラメーター セット

Domain
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Force

ユーザー確認プロンプトを非表示にします。 このパラメーターを指定しない場合、Add-Computer は各コンピューターの追加を確認する必要があります。

このパラメーターは、Windows PowerShell 3.0 で導入されています。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-LocalCredential

ComputerName パラメーターで指定されたコンピューターに接続するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

"User01" や "Domain01\User01" などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

コンピューターを新しいドメインに追加するアクセス許可を持つユーザー アカウントを指定するには、Credential パラメーターを使用します。 コンピューターを現在のドメインから削除する権限を持つユーザー アカウントを指定するには、UnjoinDomainCredential パラメーターを使用します。

このパラメーターは、Windows PowerShell 3.0 で導入されています。

パラメーターのプロパティ

型:PSCredential
規定値:Current user
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-NewName

新しいドメイン内のコンピューターの新しい名前を指定します。 このパラメーターは、1 台のコンピューターが追加または移動されている場合にのみ有効です。

このパラメーターは、Windows PowerShell 3.0 で導入されています。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Options

Add-Computer結合操作の詳細オプションを指定します。 コンマ区切りの文字列に 1 つ以上の値を入力します。

このパラメーターに使用できる値は次のとおりです。

  • AccountCreate: ドメイン アカウントを作成します。 Add-Computer コマンドレットは、コンピューターをドメインに追加するときに、ドメイン アカウントを自動的に作成します。 このオプションは、完全性を高める目的で含まれています。

  • Win9XUpgrade: 参加操作が Windows オペレーティング システムのアップグレードの一部であることを示します。

  • UnsecuredJoin: セキュリティで保護されていない結合を実行します。 セキュリティで保護されていない結合を要求するには、セキュリティで保護されていない パラメーターまたはこのオプションを使用します。 マシンパスワードを渡す場合は、このオプションを PasswordPass オプションと組み合わせて使用する必要があります。

  • PasswordPass: セキュリティで保護されていない結合を実行した後、コンピューターのパスワードを Credential(DomainCredential) パラメーターの値に設定します。 また、このオプションは、Credential (DomainCredential) パラメーターの値が、ユーザー パスワードではなくマシン パスワードであることを示します。 このオプションは、 UnsecuredJoin オプションが指定されている場合にのみ有効です。 このオプションを使用する場合、 -Credential パラメーターに指定された資格情報 must のユーザー名は null になります。

  • JoinWithNewName: 新しいドメイン内のコンピューター名の名前を、 NewName パラメーターで指定された名前に変更します。 NewName パラメーターを使用すると、このオプションが自動的に設定されます。 このオプションは、Rename-Computer コマンドレットで使用するように設計されています。 Rename-Computer コマンドレットを使用してコンピューターの名前を変更しても、コンピューターを再起動して変更を有効にしない場合は、このパラメーターを使用して、コンピューターを新しい名前のドメインに参加させることができます。

  • JoinReadOnly: 既存のコンピューター アカウントを使用して、コンピューターを読み取り専用ドメイン コントローラーに参加させます。 パスワード レプリケーション ポリシーの許可リストにマシン アカウントを追加し、参加操作の前にアカウント パスワードを読み取り専用ドメイン コントローラーにレプリケートする必要があります。

  • InstallInvoke: JoinDomainOrWorkgroup メソッドの FJoinOptions パラメーターの作成 (0x2) フラグと delete (0x4) フラグを設定します。 JoinDomainOrWorkgroup メソッドの詳細については、「Win32_ComputerSystem クラスJoinDomainOrWorkgroup メソッドを参照してください。 これらのオプションの詳細については、「 NetJoinDomain 関数を参照してください。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:JoinOptions
規定値:None
指定可能な値:AccountCreate, Win9XUpgrade, UnsecuredJoin, PasswordPass, DeferSPNSet, JoinWithNewName, JoinReadOnly, InstallInvoke
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Domain
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-OUPath

ドメイン アカウントの組織単位 (OU) を指定します。 OU の完全な識別名を引用符で囲んで入力します。 既定値は、ドメイン内のマシン オブジェクトの既定の OU です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:OU

パラメーター セット

Domain
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-PassThru

作業中のアイテムを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Restart

ドメインまたはワークグループに追加されたコンピューターを再起動します。 多くの場合、変更を有効にするには再起動が必要です。

このパラメーターは、Windows PowerShell 3.0 で導入されています。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Server

コンピューターをドメインに追加するドメイン コントローラーの名前を指定します。 FQDN 形式で名前を入力します。 既定では、ドメイン コントローラーは指定されません。

2024 年 8 月以降、ドメイン参加のセキュリティ強化には、ドメイン コントローラーの FQDN を使用する必要があります。 たとえば、 DC1.contoso.comと指定します。 詳細については、「 NetJoin ドメイン参加の強化の変更」を参照してください。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:DC

パラメーター セット

Domain
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-UnjoinDomainCredential

コンピューターを現在のドメインから削除するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

"User01" や "Domain01\User01" などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

コンピューターを別のドメインに移動する場合は、このパラメーターを使用します。 新しいドメインに参加するアクセス許可を持つユーザー アカウントを指定するには、Credential パラメーターを使用します。 リモート コンピューターに接続するアクセス許可を持つユーザー アカウントを指定するには、LocalCredential パラメーターを使用します。

このパラメーターは、Windows PowerShell 3.0 で導入されています。

パラメーターのプロパティ

型:PSCredential
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Domain
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Unsecure

指定したドメインへの安全でない参加を実行します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Domain
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:ウィスコンシン

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WorkgroupName

コンピューターを追加するワークグループの名前を指定します。 既定値は "WORKGROUP" です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:WGN

パラメーター セット

Workgroup
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

String

コンピューター名と新しい名前を Add-Computer コマンドレットにパイプできます。

出力

ComputerChangeInfo

PassThru パラメーターを使用すると、Add-ComputerComputerChangeInfo オブジェクトを返します。 それ以外の場合、このコマンドレットは出力を生成しません。

メモ

  • Windows PowerShell 2.0 では、Add-Computer パラメーターは、サーバーが存在する場合でも失敗します。 Windows PowerShell 3.0 では、Server パラメーターの実装が変更され、確実に動作します。