- PR -

スクリプトでWindows2000のコンピュータ名を変更する方法

1
投稿者投稿内容
highkick
常連さん
会議室デビュー日: 2006/01/19
投稿数: 39
投稿日時: 2007-03-06 13:41
ドメイン未参加のWindows2000のコンピュータ名をWSHやコマンドを利用して、変更する方法はありませんでしょうか?

XPやドメインに参加している場合は下記のスクリプトやnetdomを利用できるのですが、ドメイン未参加のWindows2000について、ご存知のかたがいらっしゃいましたら、ご教示願います。
http://www.microsoft.com/japan/technet/scriptcenter/scripts/ad/computer/cptrvb14.mspx
dellgate
大ベテラン
会議室デビュー日: 2004/02/20
投稿数: 198
投稿日時: 2007-03-06 15:07
コマンドラインツールのwmicを利用して
wmic ComputerSystem WHERE "name='%computername%'" Call Rename "新PC名"

とか

vbsで
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
ObjComputer.Rename("新PC名")
Next

とかでできないでしょうか。
highkick
常連さん
会議室デビュー日: 2006/01/19
投稿数: 39
投稿日時: 2007-03-06 16:19
dellgateさん ご回答ありがとうございます。

両方を実施してみましたが、駄目でした。
どうもこのWin32_ComputerSystemのRenameがXPからしか対応していないようで2000で何かないか探しているところなのです。

他に方法ないですかねぇ・・
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-03-06 23:03
Windows 2000 Server では WSH から直接 computer name を変更する API を呼び出すことはできません。
Win32 にはあるのでそれを呼び出せばいいんですが、WSH からでは直接 Win32 を呼び出すことはできませんので。

Computer name は基本的に 2つの registry entry に書かれているので、双方とも変更してやることで一応は変更できたように見せることは可能でしょう。

ただ、構成によっては他の場所にも computer name が書かれていますので、そこらへんの不整合が無視できるか、無視できないかの判断が必要になるでしょう。
_________________
highkick
常連さん
会議室デビュー日: 2006/01/19
投稿数: 39
投稿日時: 2007-03-07 19:14
ちゃっぴさん御回答ありがとうございます。

はじめはその方法で実施してみようかと考えたのですが、この方法が普通にコンピュータ名を変更した場合の方法と同じなのかがわからず断念しました。

やはりスクリプトやコマンドでの変更はむりなのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)