Active DirectoryにコンピュータをVBスクリプトを利用して参加させる場合のサンプルと、その他他サイトのサンプルに関してのメモです。
JoinDomainOrWorkgroup Method of the Win32_ComputerSystem Class
MSDNに載っていたサンプルコードの転載です。
動作確認は今後やってみようかと思います。
参加前に命名規則とAD上に既にそのアカウントがあるかどうかを確認するように作ればさらに管理が楽になりそうです。
端末の管理番号と一緒に登録すればさらに便利かもしれません。
そのうち実用的なスクリプト作ったら載せておきます。
'example joins a computer to a domain and creates the computer's account in Active Directory. Const JOIN_DOMAIN = 1 Const ACCT_CREATE = 2 Const ACCT_DELETE = 4 Const WIN9X_UPGRADE = 16 Const DOMAIN_JOIN_IF_JOINED = 32 Const JOIN_UNSECURE = 64 Const MACHINE_PASSWORD_PASSED = 128 Const DEFERRED_SPN_SET = 256 Const INSTALL_INVOCATION = 262144 strDomain = "FABRIKAM" strPassword = "ls4k5ywA" strUser = "shenalan" Set objNetwork = CreateObject("WScript.Network") strComputer = objNetwork.ComputerName Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _ strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & strComputer & "'") ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, strPassword, strDomain & "\" & strUser, NULL, JOIN_DOMAIN + ACCT_CREATE)
how to rename a local computer.
MSDNに載っていたサンプルコードの転載です。
ドメインに参加させる前に名前を変更してしまった方がややこしくなさそうです。
Name = "name" Password = "password" Username = "username" Set objWMIService = GetObject("Winmgmts:root\cimv2") ' Call always gets only one Win32_ComputerSystem object. For Each objComputer in _ objWMIService.InstancesOf("Win32_ComputerSystem") Return = objComputer.rename(Name,Password,Username) If Return <> 0 Then WScript.Echo "Rename failed. Error = " & Err.Number Else WScript.Echo "Rename succeeded." & _ " Reboot for new name to go into effect" End If Next
参考リンク
RODC環境でドメインに参加させるスクリプト
コンピュータ名を変更する: Win32_ComputerSystem – WMI Sample (VBS)
JoinDomainOrWorkgroup Method of the Win32_ComputerSystem Class