ドメイン参加をバッチファイルで行う

メモ:

バッチファイルを使ってドメインに参加する方法をメモします。

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