ドメイン参加をバッチファイルで行う
バッチファイルを使ってドメインに参加する方法をメモします。
wmic コマンドでドメイン参加
次の例は、 wmic コマンドを実行してドメインに参加するバッチです。
@echo off
cd /d %~dp0
setlocal
set ret_success=0
set ret_fail=1
echo ドメインへ参加します。
wmic computersystem where name="%computername%" call joindomainorworkgroup name="ドメイン名" password="パスワード" username="ユーザー名" FJoinOptions=3
echo ドメインへ参加しました。再起動してください。
exit /b %ret_success%
Windows には、WMI(Windows Management Instrumentation)というシステム管理のための共通基盤アーキテクチャがあり、WMIを操作するためのコマンドとして wmic.exe(Windows Management Instrumentation Command Line)というコマンドラインツールが用意されています。
wmic コマンドで行っていることは、 Win32_ComputerSystem クラスの JoinDomainOrWorkgroup メソッドを呼び出しています。
FJoinOptions は、いろいろなオプションが指定できるようですが、ここでは NETSETUP_JOIN_DOMAIN (0x00000001) と NETSETUP_ACCT_CREATE (0x00000002) を指定しています。
これらは、
- NETSETUP_JOIN_DOMAIN (0x00000001):ドメインへ参加
- NETSETUP_ACCT_CREATE (0x00000002):アカウントを作成
になります。
参考:JoinDomainOrWorkgroup Method of the Win32_ComputerSystem Class
ドメインに参加したら、shutdown コマンドを実行して再起動し、変更を反映させます。
shutdown /r
OUを指定してドメインに参加したい場合
OUを指定してドメインに参加したい場合は、次のようにパラメータを追加します。
AccountOU="OU=testOU; DC=domain; DC=Domain; DC=com"
コンピューターをドメインから削除する場合
コンピューターをドメインから削除する場合は、 UnjoinDomainOrWorkgroup メソッドを使用します。
wmic computersystem where name="%computername%" call UnjoinDomainOrWorkgroup name="ドメイン名" password="パスワード" username="ユーザー名" FJoinOptions=0