更新日:2022/03/13
wmic.exe ComputerSystem WHERE Name!=null CALL JoinDomainOrWorkgroup Name="<ドメイン名>" Password="<パスワード>" Username="<ユーザー名>" AccountOU="<OU>" FJoinOptions=<オプション>
例:
wmic.exe ComputerSystem WHERE Name!=null CALL JoinDomainOrWorkgroup Name="example.com" Password="password" Username="example.com\username" FJoinOptions=3
成功すれば以下が返されます。
instance of __PARAMETERS
{
ReturnValue = 0;
};
ReturnValue = 1326 の場合はユーザ名、あるいはパスワードに誤りがある可能性があります。
ReturnValue = 8644 の場合はドメインコントローラのSIDと参加させようとしているサーバのSIDが重複している可能性あります。同じマスターから作成した場合などです。参加させようとしているPCでsysprep を実行させる必要あります。
ReturnValue = 5; の場合は以下が考えられます。
・すでに同名のPCがドメインに参加している可能性がある。ドメインから削除する。
・指定したユーザには「ドメインにワークステーションを追加」がない。
ReturnValue = 2691;の場合はすでにこのコンピュータはADに追加されている可能性があります。
FJoinOptionsは以下のとおりです。
NETSETUP_JOIN_DOMAIN (0x00000001)
ドメインに参加するならセット,ワークグループならセットしない。
NETSETUP_ACCT_CREATE (0x00000002)
ドメインでアカウントを作成するならセット
(5)Powershell コマンドでは以下の方法となります。
$pwd = ConvertTo-SecureString -AsPlainText -Force "password”
$cred = New-Object System.Management.Automation.PSCredential("example.com\username",$pwd)
Add-Computer -DomainName "example.com" -Credential $cred
(*)ホスト名を変更してドメインに参加する場合は、Rename-Computer -Force では変更できませんでした。
その代わり以下のコマンドで対応が可能です。
#ドメイン参加
Rename-Computer -NewName $HostName -Force
$pwd=ConvertTo-SecureString -AsPlainText -Force "mypassword"
$cred=New-Object System.Management.Automation.PSCredential("<ドメイン名>\<ユーザ名>",$pwd)
Add-Computer -DomainName <ドメイン名> -NewName <新しいホスト名> -Restart -Options JoinWithNewName
Restart-Computer -Force
"コンピュータ名変更","ドメイン参加"を同時に行いたい場合、Rename-Computerでコンピュータ名を変更すると再起動が必要になってしまいます。
よって"コンピュータ名変更","ドメイン参加"を同時に行う場合、上記のようにJoinWithNewNameオプションを指定するとよいでしょう。(リブート不要で参加。ただし参加後はリブートが必要)
ドメイン参加状況を確認
ドメイン参加状況を確認するコマンドは以下のとおりです。
$CS = Get-WmiObject Win32_ComputerSystem
#ドメイン/ワークグループ名を表示
Write-Host $CS.Domain
if( $CS.PartOfDomain -eq $True )
{
Write-Host "Joining Domain: "
}
else
{
Write-Host "Joining Workgroup: "
}
ドメインから抜けてワークグループに入る
ドメインから抜けてワークグループに入るサンプルは以下の通りです。
$User = "<ドメイン名>\<ワークグループ名>"
$PW = ConvertTo-SecureString -String "<パスワード>" -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PW
Remove-Computer -Credential $Credential -WorkgroupName <参加先ワークグループ名>
例:
$User = "rootdomain.com\joiningaduser"
$PW = ConvertTo-SecureString -String "MyP@ssw@rd9876" -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PW
Remove-Computer -Credential $Credential -WorkgroupName workgroup
[Powershell FAQ トップへ]
[FAQ CENTER トップ]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018