WMI Fun !! 〜 WMI に興味がある方・システム管理者必見! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|My Let'snote|Personal|Link|About

WMI Fun !! > WMI Sample (VB) > コンピュータをドメインに参加する

このエントリーをはてなブックマークに追加
家族でのんびり北海道旅行はいかがですか?広い台地でのんびり〜
毎日の仕事のお供におすすめミネラルウォータークリスタルカイザー
電子タバコならやっぱりアイコス ネイビー

コンピュータをドメインに参加する: Win32_ComputerSystem - WMI Sample (VB)

Topics

コンピュータをドメインに参加するサンプルプログラムです。
Win32_ComputerSystem クラスを使用します。

VBS (WSH) 版のサンプルコードはこちらで公開しています。



Sample Code

Private Sub Command1_Click()

Dim Cs As SWbemObject
Dim CsSet As SWbemObjectSet
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim Ret As Long
Dim PID As Long
Dim MesStr As String
Dim strDomain As String
Dim strUser As String
Dim strPassword As String

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 = InputBox("ドメイン名")
strUser = InputBox("管理者ユーザー")
strPassword = InputBox("パスワード")

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer
Set CsSet = Service.ExecQuery _
("Select * From Win32_ComputerSystem")

For Each Cs In CsSet

Ret = Cs.JoinDomainOrWorkGroup _
(strDomain, strPassword, strDomain & "\" & strUser, _
vbNullString, JOIN_DOMAIN & ACCT_CREATE)

Next

If Ret = 0 Then
MsgBox "ドメインの参加を終了しました。"
Else
MsgBox "ドメインの参加に失敗しました。"
End If

Set Cs = Nothing
Set Service = Nothing
Set Locator = Nothing

End Sub



Comment

今回のサンプルを実行するにはテスト環境にドメインコントローラが必要です。
それでは実行してみましょう。ドメイン名・管理者ユーザー・パスワードを聞いてきますのでそれぞれ入力しましょう。
成功すれば「ドメインの参加を終了しました。」と表示されます。
一言書いておきますが JoinDomainOrWorkGroup メソッドに関しては WMI SDK にまだ記述が何もないようです。(2002/08/12 現在)。
今回は「WMI CIM Studio」というツールを参考にして製作しました。
簡単にこの JoinDomainOrWorkgroup メソッドに関して説明しておくと、

JoinDomainOrWorkgroup(Name, Password, UserName, AccountOU, FJoinOptions)

Name: 参加したいドメイン名
Password: ドメイン管理者権限アカウントパスワード(アカウント指定時)
UserName: ドメイン管理車権限アカウント(アカウント指定時)
AccountOU: Active Directory の OU を指定(省略可)
FJoinOptions: ドメイン参加時オプション

という構文になっています。
なお WMI の使い方(VB6, VBS, VBA, VB.NET, VC#, PowerShell を対象) に関しては、WMI Step も参考にしてみてください。(WMI 初心者・入門編としてもおすすめです。) 各種言語を使用したWMIを使用するたたき台としてソースコードテンプレートも公開しています。WMI プログラム/スクリプト作成時に役立てば…と思っています。


Recommended book

個人的にお勧めする本の紹介です。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMIに関して調べているけど探し物が見つからない…という方はSearch Resultから検索してみましょう!!

MCP(Microsoft Certified Professional)一応MCP(Microsoft Certified Professional)、MCA(Microsoft Certified Associate)所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft社のテクノロジーであるWMI(Windows Management Instrumentation)の使い方を
Visual Basicを使ってのんびり公開しています
WMIはWindows 7やWindows 8、Windows 10で便利に使えますよ! またVB/VBAや.Net(VB,C#)などの開発環境以外でもAPIに依存しないのでWMICやWSH(VBS,JS)・PowerShellなどスクリプト言語から有効に活用が出来ます
Windowsベースの社内ITシステムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発にWMIはお勧めです

This website is created by Toh.
Copyright(C) 1997-2013 WMI Fun !!. All rights reserved.
WMI Fun !!へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…