VBScriptでWindows2000のワークグループの変更する方法を探しております。


現在WindowsXP以降のOSでの変更はできているのですが
Windows2000ではJoinDomainOrWorkgroupなどのメソッドをサポートしていないため手詰まりの状態です。

以下のユーザー名変更のようなADSIを使用したコードでできないか試行錯誤しておりますが
他の方法でもよろしいですので、ご存知の方ご教授頂けないでしょうか?

' ユーザー名(Windows2000)
Dim User ' As ActiveDs.IADs
Dim Container ' As ActiveDs.IADsContainer

Set Container = GetObject("WinNT://.,Computer")
Set User = GetObject("WinNT://./変更前,User")

Call Container.MoveHere(User.ADsPath, "変更後")


参考までにWindowsXP以降のコードも添付致します。


Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer

' ワークグループ
Set workgroupEnum = Service.ExecQuery("Select * From Win32_ComputerSystem WHERE Name=""変更前""")
For Each workgroup In workgroupEnum
 ret = workgroup.JoinDomainOrWorkgroup("変更後", Nothing, Nothing, Nothing, Nothing)
Next

' ユーザー名
Set userEnum = Service.ExecQuery("Select * From Win32_UserAccount WHERE Name=""変更前""")
For Each user In userEnum
 ret = user.Rename("変更後")
Next

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2012/02/20 10:20:04

回答1件)

id:pyxisflap No.1

回答回数4ベストアンサー獲得回数1

アプローチを変えてみてはいかがでしょうか。
フリーソフトでバッチ処理に対応したものがあります。
http://www.valsoft.jp/delphi/vipconfigdll.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません