- PR -

wshにて、OSを識別する方法

1
投稿者投稿内容
シュワンツ
ベテラン
会議室デビュー日: 2002/08/27
投稿数: 56
投稿日時: 2005-09-08 16:14
wshにて、OSを識別するしたいのですが、
wmiを使用しないで行うヒントを教えてください。
古い端末もあり、wmiが入っていないPCではOSが識別できないため

よろしくお願いします


※wmiを使用したサンプル
strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer)
Set colOperatingSystems = objWMIService.InstancesOf("Win32_OperatingSystem")

For Each objOperatingSystem In colOperatingSystems
Wscript.Echo "名前: " & objOperatingSystem.Name & vbCrLf & _
"キャプション: " & objOperatingSystem.Caption & vbCrLf & _
"現在のタイム ゾーン: " & objOperatingSystem.CurrentTimeZone & vbCrLf & _
"最後の起動時刻: " & objOperatingSystem.LastBootUpTime & vbCrLf & _
"ローカル日時: " & objOperatingSystem.LocalDateTime & vbCrLf & _
"ロケール: " & objOperatingSystem.Locale & vbCrLf & _
"製造元: " & objOperatingSystem.Manufacturer & vbCrLf & _
"OS の種類: " & objOperatingSystem. OSType & vbCrLf & _
"バージョン: " & objOperatingSystem.Version & vbCrLf & _
"Service Pack: " & objOperatingSystem.ServicePackMajorVersion & _
"." & objOperatingSystem.ServicePackMinorVersion & vbCrLf & _
"Windows ディレクトリ: " & objOperatingSystem.WindowsDirectory
Next
Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2005-09-08 17:55
DOSコマンドの"VER"コマンド標準出力を
引き取るようにしてみてはどうでしょうか。
_________________
ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/
日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/
goma
会議室デビュー日: 2005/08/17
投稿数: 2
投稿日時: 2005-09-08 20:43
WshEnvironmentオブジェクトを使って OSが NT系、9x系を判定し、
レジストリから「ProductName」を読み出す。


// JScript
//---------------------------------------------------
var objWshShell, strKeyBranch, strProductName;

objWshShell = WScript.CreateObject("WScript.Shell");

if(objWshShell.Environment("Process").Item("OS").indexOf("Windows_NT")!=-1)
strKeyBranch = "Windows NT";
else
strKeyBranch = "Windows";

try{
strProductName = objWshShell.RegRead("HKLM\\SOFTWARE\\Microsoft\\" + strKeyBranch + "\\CurrentVersion\\ProductName");
WScript.Echo(strProductName);
}catch(e){
WScript.Echo(e.description);
}

//---------------------------------------------------

なお、環境変数を得るのに Environment("Process") と Environment("System")
があるが、Windows 95/98/Me では Environment("Process") のみが使えるとのこと。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsProEnvironment.asp


- Windows Script Host Reference
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsoriWSHLanguageReference.asp


以上、参考までに


[ メッセージ編集済み 編集者: goma 編集日時 2005-09-08 20:43 ]

[ メッセージ編集済み 編集者: goma 編集日時 2005-09-08 20:44 ]

[ メッセージ編集済み 編集者: goma 編集日時 2005-09-08 20:45 ]

[ メッセージ編集済み 編集者: goma 編集日時 2005-09-08 20:45 ]
シュワンツ
ベテラン
会議室デビュー日: 2002/08/27
投稿数: 56
投稿日時: 2005-09-09 08:22
Mooさん gomaさん

ありがとうございます。早速ためしてみます。

[ メッセージ編集済み 編集者: シュワンツ 編集日時 2005-09-09 08:26 ]
1

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