ActiveDirectory

【PowerShell】コマンドでADドメイン参加を管理・確認

クライアント側のコマンド編

前提:クライアント側の DNS 設定を AD ドメインコントローラに向けていること

ドメイン参加コマンド: 基本形

ドメイン参加させる端末で以下のように Add-Computer <Domain NetBIOS 名> コマンドを打ち、資格情報 (ドメイン管理者など) を入力するだけで OK。

PS C:> Add-Computer example

改めて考えてみると、私は PowerShell を過小評価してました。GUI で設定画面を出すより、Windowsキー + R で "powershell" と打ち、Shift と Ctrl 押しながら Enter を押し管理者権限で PowerShell を起動し、上記コマンドを打つだけでドメイン参加できるのです。もう GUI には戻れません。

ドメイン参加コマンド: 格納する OU を指定したい場合

デフォルトでは Computers コンテナに格納されますので、グループポリシー使う場合などは OU に移動するのは若干手間です。ドメイン参加時に OU を指定することもできます。

PS C:> Add-Computer example -OUPath 'OU=excomputers,DC=example,DC=com'

ドメイン参加コマンド: 資格情報を打たず非対話実行したい場合

パスワードをファイルに保存しておくのは危険です。最近のサイバー攻撃はこのような平文の資格情報を探索する傾向にありますのでセットアップ完了後は確実にファイルを削除しましょう。

以下の bat ファイルを作成します。P@ssw0rd の箇所を適切なものに変更してください。

powershell -Command "$user='Administrator'; $password=ConvertTo-SecureString -AsPlainText 'P@ssw0rd' -Force; $credential=New-Object system.Management.Automation.PSCredential $user,$password; Add-computer example -OUPath 'OU=excomputers,DC=example,DC=com' -Credential $credential; Restart-Computer"

上記ファイルを右クリックし、管理者権限で実行すれば OK です。

最後に Restart-Computer で再起動まで含めていますが、実行結果を確認したい場合はここを削除し、改行して pause を入れましょう。

ドメイン離脱 (WORKGROUP 環境移行)

管理者権限で PowerShell を起動し、以下を実行します。

PS C:> Remove-Computer -Credential example\administrator

ドメイン管理者のパスワード入力を求められます。その後再起動すれば OK です。

ドメインコントローラ側の確認・管理コマンド

コンピュータアカウントの検索

ホスト名が Desktop- で始まるコンピュータを探すときの PowerShell コマンド。

PS C:> Get-ADComputer -filter {Name -like "Desktop-*"}

コンピュータアカウントの削除

ドメイン離脱後も Enabled : False の状態でコンピュータが残るようです。

コンピュータアカウントを削除するときは、Get-ADComputer の -filter で 1 つに絞り、それを Remove-ADComputer に渡せば OK です。例えば Desktop-YMCA を削除するときは以下のようにします。

PS C:> Get-ADComputer -filter {Name -like "Desktop-YMCA"} | Remove-ADComputer

ドメイン参加しているクライアント側でドメイン離脱するときは "Remove-Computer"、ドメインコントローラ側でコンピュータアカウントを削除するときは "Remove-ADComputer" です。紛らわしいので気を付けましょう。

コメント

タイトルとURLをコピーしました