リモートでドメイン追加・コンピューター名変更

シェアする

同じドメイン内のリモートサイトにあるWindows 7/8にリモートでログインし、ドメインへの参加とコンピューター名の変更をする必要があり、しばらく考えていました。一歩間違えれば、3日以上の海外出張が必要になる距離、もちろんそんなことはできないので、別の方法を取らなければいけません。

条件

  • リモートアクセスのみで対応
  • リモートは専用アプリケーション(コンピューター名を設定ファイルに持ち、起動中のみアクセス可能)
  • コンピューター名でのアクセスのみ(DNSとNetBIOS)可能
  • コンピューター名を変更したら、アプリケーションキャッシュファイルを削除する必要がある
  • キャッシュファイル削除後、リモートアプリケーションでアクセスできるようになるまで1日(サーバー側の再クロール実施間隔)かかる
  • 3時間以内の解決

IT担当者がいないリモートサイトで、新規Windows PCの設定をしなければいけないという環境だと思ってください。

問題点

バッチファイルでガシガシ書いてしまえばいけるだろう、と甘く見ていたところ以下の問題点がありました。

  • アプリケーション起動中、コンピューター名が格納された設定ファイルを削除できない
  • アプリケーションを停止するとリモート接続は切断され、再アクセスする方法がない
  • コンピューター名変更をGUIで行うと再起動が必要

解決策

ようやく見つけたのが、Powershell。今回の要件にぴったりだとは思いませんでした。なんでドメイン参加とコンピューター名変更を保留して、1回の再起動で出来るんだろう。

Powershellスクリプト

スクリプトとは言っても、単純に羅列です。Powershellは管理者権限で起動してください。

#ドメイン参加
Add-Computer -Credential “ドメイン参加可能権限ユーザアカウント” -DomainName “ドメイン名”

#コンピューター名変更
Rename-Computer -DomainCredential “Domain Adminアカウント” -LocalCredential “ローカル管理者アカウント”

#対象サービスを停止
Stop-Service -InputObject (“サービス名”)

#対象設定ファイル削除
Remove-Item -Path “削除したいファイル” -Force

#スクリプト処理後の再起動
Restart-Computer -Force

参考:サービス名取得は?

「Get-Service | Sort-Object displayname」とかすると幸せになれるかもしれません。