getPrinterInfo.wsf
設定されているプリンタデバイスの情報を取得するスクリプトです。
プリントサーバーの情報を一括して収集する際に利用します。 Cドライブ直下に「collectPrinterInfo.csv」というCSV形式でファイルを作成します。
※WindowsServerXP以降でしか動作しません。
try { var OUTPPUTFILE = "c:\\collectPrinterInfo.csv" var oSh = WScript.CreateObject("WScript.Shell"); var oFs = WScript.CreateObject("Scripting.FileSystemObject"); var oNet = WScript.CreateObject("WScript.Network"); var oWmi = GetObject("winmgmts:\\\\.\\root\\cimv2"); var oPrn = oWmi.ExecQuery("select * from win32_Printer"); var tsPrinterCol = oFs.OpenTextFile(OUTPPUTFILE,8,true,0); var logLine; logLine = "コンピュータ名"+","; logLine += "プリンタ名"+","; logLine += "共有名"+","; logLine += "ポート"+","; logLine += "コメント"+","; logLine += "場所"+","; logLine += "ドライバ名"+","; tsPrinterCol.WriteLine(logLine); for ( var i=0,e = new Enumerator(oPrn);!e.atEnd();e.moveNext(),i++) { var prn = e.item(); logLine = null; logLine = oNet.ComputerName+","; logLine += prn.Name+","; logLine += prn.ShareName+","; logLine += prn.PortName+","; logLine += prn.Comment+","; logLine += prn.Location+","; logLine += prn.DriverName+","; logLine += ""; tsPrinterCol.WriteLine(logLine); } } catch(e) { WScript.Echo(e.message); }
プリントサーバーの移行する際の情報収集に利用できるかと思います。
一応、Microsoftからはプリンタの移行用にPrintmig.exeというツールが提供されています。
サーバーOSでは利用した事がありませんが、こういった選択肢もありだとは思います。
http://www.microsoft.com/WindowsServer2003/techinfo/overview/printmigrator3.1.mspx
※日本語のヘルプが少ないのが難点ですが・・・。