使用 WSH,可以創(chuàng)建自動(dòng)登錄腳本。下面的示例假定,一個(gè)公司有兩臺文件服務(wù)器(分別叫做“服務(wù)器1”和“服務(wù)器2”)和兩臺打印服務(wù)器(分別叫做“打印機(jī)1”和“打印機(jī)2”)。為平衡服務(wù)器的使用,登錄名以字母 A - K 打頭的每個(gè)用戶都連接到第一臺文件服務(wù)器和第一臺打印服務(wù)器,登錄名以字母 L - Z 打頭的每個(gè)用戶都連接到第二臺文件服務(wù)器和第二臺打印服務(wù)器。
注意 在 Windows 9x 中,為使用戶登錄生效,會(huì)包括一段延遲。
// JScript. var oNet, sUser, cInitial, startTime; oNet = new ActiveXObject("WScript.Network"); // 獲取用戶名。在 Windows 98 和 Windows ME 上,當(dāng)腳本開始運(yùn)行時(shí), // 用戶可能未登錄;請每隔 1/2 秒 // 檢查一次,直到他們登錄為止。 sUser = oNet.UserName; startTime = new Date(); while (sUser == "") { var curTime = new Date(); if (curTime startTime > 30000) WScript.Quit(); WScript.Sleep(500); sUser = oNet.UserName; } // 根據(jù)用戶名的第一個(gè)字母, // 為 "h" 驅(qū)動(dòng)器和打印機(jī)添加一個(gè)共享點(diǎn) cInitial = sUser.charAt(0).toUpperCase(); if (cInitial < "L") { oNet.MapNetworkDrive("h:", "\\\\server1\\users\\" + sUser); oNet.AddWindowsPrinterConnection("\\\\printer1\\hp", "HP LaserJet 4"); } else { oNet.MapNetworkDrive("h:", "\\\\server2\\users\\" + sUser); oNet.AddWindowsPrinterConnection("\\\\printer2\\hp", "HP LaserJet 4"); } ' VBScript. Option Explicit Dim oNet, sUser, cInitial, startTime ' Helper 對象 Set oNet = CreateObject("WScript.Network") ' 獲取用戶名。在 Windows 9x 上,當(dāng)腳本開始運(yùn)行時(shí), ' 用戶可能未登錄;請每隔 1/2 秒 ' 檢查一次,直到他們登錄為止。 sUser = oNet.UserName startTime = Now Do While sUser = "" If DateDiff("s", startTime, Now) > 30 Then Wscript.Quit Wscript.Sleep 500 sUser = oNet.UserName Loop ' 根據(jù)用戶名的第一個(gè)字母, ' 為 "h" 驅(qū)動(dòng)器和打印機(jī)添加一個(gè)共享點(diǎn) cInitial = UCase(Left(sUser, 1)) If (cInitial < "L") Then oNet.MapNetworkDrive "h:", "\\server1\users\" & sUser oNet.AddWindowsPrinterConnection "\\printer1\hp", "HP LaserJet 4" Else oNet.MapNetworkDrive "h:", "\\server2\users\" & sUser oNet.AddWindowsPrinterConnection "\\printer2\hp", "HP LaserJet 4" End If