Windows tips小技巧
2019-11-28 04:16:06
供稿:網(wǎng)友
自從 Windows 2000? 以及
Active Directory(Microsoft Windows? 2000 操作系統(tǒng)的目錄服務(wù))面世以來,在與 Microsoft 合作伙伴交往的親身經(jīng)歷中
,我積累了許多這樣的竅門,并已收集了其中一些與合作伙伴們共享。
我知道竅門是管理員的良師益友,所以我寫出了下面幾個竅門,當我在客戶公司工作時,這些竅門給
了我莫大的幫助。本專欄文章討論這些能節(jié)省時間的工具和竅門中的一部分,它們的主要作用是使我
們在運行 Windows 2000 服務(wù)器和工作站(特別是在部署了 Active Directory 時)時更得心應(yīng)手。
打印機的部署
眾所周知,Windows 2000 如今在處理打印機配置方面已有了一些增強,如:用于管理打印機和打印作業(yè)的
網(wǎng)頁 http://machinename/printers;在 Active Directory 環(huán)境中從開始 | 搜索 | 打印機即可搜索打印機;以及只需從搜索
結(jié)果中選擇“連接”或雙擊該打印機即可安裝等等。
但如果您并不熟悉 Windows 2000 資源工具包提供的工具,在配置和部署用于 Windows 2000 的打印機時就要花
一些工夫了。
資源工具包中第一個可利用的腳本就是 prnmgr.vbs。該腳本可用于從命令行向計算機創(chuàng)建/添加打印機,
包括指定打印機驅(qū)動程序、位置等。基本語法如下:
cscript prnmgr.vbs -a -b "My new printer" -m "HP LaserJet 4M" -r "lpt1:"
該命令可以創(chuàng)建一個新的打印機,驅(qū)動程序為 HP LaserJet 4M,端口為 LPT1。
請注意從命令行運行腳本時,需要在 vbs 文件前添加 cscript.exe 命令。Cscript 命令是 WSH(Windows 腳本運行
主機)的命令行執(zhí)行方式,WSH 是一個控制器,用于在 Windows 2000 環(huán)境中運行腳本。可以從命令行使
用 prnmgr.vbs 在您公司的計算機上遠程配置打印機,也可以從“登錄腳本”中運行此命令,在登錄過
程中自動創(chuàng)建打印機。
另一個有用的腳本叫做 clone.vbs。Clone.vbs 可用來將打印機從一臺計算機克隆到其他計算機。如果您希
望將相同的打印機用于大量計算機,這個腳本十分奏效。它有點像打印機的“SysPrep”機制。您可
以試著這樣做:
在一臺工作站上配置所有需要的打印機(或者干脆使用 prnmgr.vbs)。
然后轉(zhuǎn)到命令行,在資源工具包目錄下運行以下命令:
cscript clone.vbs /?
并查找可用來克隆打印機驅(qū)動程序、端口和形式的各種選項。Clone.vbs 將創(chuàng)建所需的腳本和批處理
文件,供稍后克隆打印機時使用。默認情況下,創(chuàng)建的內(nèi)容保存在當前目錄下,
如:/program files/Resource Kit。您最好將 clone.vbs 文件先復(fù)制到一個空文件夾中,然后再著手運行該命令以
創(chuàng)建復(fù)制腳本。
下一步,指定所需選項,運行 clone.vbs 腳本。運行完畢后,檢查為本臺計算機上安裝的每臺打印機
所創(chuàng)建的腳本,以及同時創(chuàng)建的批處理文件(供將來自動按順序運行創(chuàng)建的所有腳本)。之后,
如果您在其他計算機上運行該批處理文件(或分別運行創(chuàng)建的每個腳本),它將按照您指定的選
項信息(如打印機端口或驅(qū)動程序)自動創(chuàng)建在最初的計算機上安裝的打印機。
Windows 2000 資源工具包還有其他一些可用于配置和部署打印機的工具(如 Prnadmin.dll),您可以根據(jù)需
要進一步查看。
獲取用戶信息
除了基于 UI 的用戶管理工具,還有很多現(xiàn)成的工具和腳本可協(xié)助查詢、創(chuàng)建、修改和刪除目錄中
的用戶對象。
您應(yīng)該仔細查看 Windows 2000 產(chǎn)品 CD 中的支持工具和 Windows 2000 資源工具包,至少了解其中的一部分工
具,因為它們有時確實能讓您的工作輕松許多。以下是其中一些工具的簡要說明:
Windows 2000 資源工具包提供了一些可用于處理用戶的腳本。
例如,可使用 ClassifyMembers.vbs 列出容器/OU 或域中的對象。
而 ListProperties.vbs 腳本可以顯示對象屬性和信息。它可以同 WinNT:// 名稱空間一同使用,適用于 Windows NT、
成員計算機或工作站;也可以同 LDAP:// 名稱空間一同使用,用于 Active Directory 域控制器。請注意該腳本
的語法區(qū)分大小寫。
如果要列舉組成員身份,可以利用以下幾種工具,如:FindGrp.exe、IfMember.exe 和 ShowGrps.exe。每種工具的
運行結(jié)果各有不同,您最好在運行之后比較它們的輸出結(jié)果。例如,ShowGrps.exe 也可以查詢計算機對
象的組成員身份(試著執(zhí)行:
FindGrp.exe /$
并查看輸出結(jié)果)。如果要搜索滿足特定條件的用戶,可以嘗試使用 chkusers.vbs。該腳本將在域中查
找滿足指定條件的用戶。例如:
Cscript CHKUSERS.VBS /A:WinNT://YourDomainName /P:FullName;Description
/C:"((LastLogin:>4/3/01 or LastLogin:<8/4/01) and AccountDisabled:=False)"
該腳本將輸出上次登錄時間介于 2001 年 4 月 3 日和 2001 年 8 月 4 日之間的所有活動用戶的全名和說明。
還可以在支持工具中找到 LDIFDE.exe,用于批量導(dǎo)入和導(dǎo)出 Active Directory 對象。使用 LDIFDE 可以將新用戶
記錄導(dǎo)入目錄,或?qū)⑻囟ㄓ脩舻奶囟ㄐ畔?dǎo)出到一個文本文件中。LDIFDE 默認采用的是輸出模式(
從目錄中讀取信息)。如果添加了 -i 選項,則還可以將更改寫入目錄(請參閱 Microsoft 知識庫文章
Q237677: Using LDIFDE to Import and Export Directory
Objects to the Active Directory,“使用 LDIFDE 向 Active Directory 中導(dǎo)入或從中導(dǎo)
出目錄對象”)。另外,如果只想對特定 OU(組織單位)中的所有用戶導(dǎo)出和提取特定的細節(jié),
如用戶名、職務(wù)和登錄名,可以運行以下命令:
ldifde -f C:/ldif/ExportUsers.ldf –s SERVERNAME -
d "OU=YourOUname,dc=YourDomainName,dc=com" -p subtree -
r "(objectClass=User)" -
l "cn,givenName,Title,SamAccountName"
LDIFDE 使用 LDF 文件格式。您可以在 Microsoft 知識庫中了解到更多關(guān)于 LDIFDE 的信息,只需訪問
http://support.microsoft.com,在其中的搜索頁中搜索“LDIFDE”即可。
實用的竅門,廣而告之. . .
好了,現(xiàn)在我還有一些一般常識性的竅門要告訴大家,希望大家廣而告之。
在 Windows 2000 Professional 計算機上運行 Windows 2000 Server 管理工具時,一般都需要從
Windows 2000 Server CD(或從服務(wù)器本身)運行 /i386 文件夾中的 adminpak.msi 文件。不過...如果我只需要
Active Directory 管理工具,或只是群集管理器,而不是全部 MMC,那又該怎么辦呢?別擔(dān)心,您可
以使用 msiexec.exe 從 adminpak.msi 文件中只提取您需要的 MMC 管理單元,語法如下:
msiexec /i adminpak.msi ADDLOCAL= /qb
例如:
msiexec /i adminpak.msi ADDLOCAL= FeADTools /qb
(其中,F(xiàn)eADTools 是“Active Directory 工具”的縮寫。該命令只安裝與 Active Directory 有關(guān)的三個 MMC 管理單
元)。
其他縮寫如下所示:
FeRRASConsole - 路由和遠程訪問
FeDHCPConsole - DHCP
FeDNSConsole - DNS
FeDFSConsole - 分布式文件系統(tǒng)
FeWINSConsole - WINS
FeTAPIConsole - 電話服務(wù)
FeACSConsole - QoS 許可控制
FeCERTConsole - 證書頒發(fā)機構(gòu)
FeClusterConsole - 群集管理器
FeCMAKConsole - 連接管理器管理工具包
FeIASConsole - Internet 驗證服務(wù)
FeIISConsole - Internet Information 服務(wù)
FeRSConsole - 遠程存儲
FeTSClientConsole - 終端服務(wù)客戶端
FeTSMgrConsole - 終端服務(wù)管理器
如果準備在您的域中創(chuàng)建大批的測試用戶帳戶或在工作站上創(chuàng)建本地帳戶,可以使用 FOR 和 Net User 命
令“速戰(zhàn)速決”完成此任務(wù),無需編寫腳本或任何代碼。例如,如果您從命令行鍵入:
FOR /L %i in (1,1,500) DO NET USER MyUser%i /ADD
結(jié)果將創(chuàng)建 500 個新用戶,分別命名為 MyUser1、MyUser2...,依此類推。
如果希望名稱更有意義,或更容易區(qū)分,且沒有先后排序,那么還可以將 FOR 命令與 /F 一起使用,
并指定一個列出了您想導(dǎo)入到域中的一組名稱的文本文件。 顯而易見,這個竅門也適用于
Windows NT 4.0 域和成員服務(wù)器或工作站,因為它使用了向后兼容的 NetXXX API。
Windows 2000 資源工具包中有多種不同的操縱腳本。例如,要想控制某臺計算機上的服務(wù),可以使用
service.vbs。該腳本不僅可以列出所有服務(wù),還可以停止、啟動、刪除和安裝服務(wù)。
還是在此資源工具包中,您可以通過 share.vbs 來控制計算機資源的共享。該腳本可以列出、創(chuàng)建和
刪除計算機資源的共享。
您是否想知道啟動計算機時運行了哪些命令和程序?很容易,資源工具包中的 startup.vbs 可以列出有
關(guān)指定計算機(即使是一臺遠程計算機)的所有啟動命令,包括運行該命令的用戶及運行依據(jù)的
確切語法。不過,我也承認以前從 msconfig.exe 就可以看到該信息,但 Windows 2000 并未包含該工具。好
在 Windows XP Professional 上又重新使用了 msconfig.exe。
如果運行 Windows 2000 或 Windows XP Professional,您可以將新添加的打印機發(fā)布到 Active Directory。但是,如果操
作系統(tǒng)不是 Windows 2000(如 Windows NT 4.0 成員或 Windows 98),那又該如何向 Active Directory 發(fā)布打印機呢?您
可以使用 pubprn.vbs 發(fā)布 Windows 2000 或 Windows XP 之外的 Windows 版本共享的打印機。如果安裝了 Windows 腳本
運行主機,則可以在 System 文件夾中找到該腳本。
例如:
cscript pubprn.vbs ServerName "LDAP://ou=MyOrgUnit,dc=MyDomain,dc=com"
使用該腳本可以將特定計算機(由 ServerName 指定)上的所有打印機發(fā)布到 Active Directory 域目錄樹的指
定組織單元內(nèi)。有關(guān)如何使用和獲取 pubprn.vbs 的詳細信息,可參閱 Microsoft 知識庫文章
Q234619: Publishing a Printer in Windows Active Directory(在 Windows Active Directory 中發(fā)布打印機)。
每次執(zhí)行“立即復(fù)制”操作在域控制器之間觸發(fā)復(fù)制操作時都需要進入“Active Directory 站點和服務(wù)”,
如果您對此已不勝其煩,則不妨嘗試 Windows 2000 支持工具 RepAdmin.exe,依照以下命令執(zhí)行:
repadmin /syncall /p /e /d servername.domain.com /u:%account% /pw:%pwd%
使用 Windows 2000 資源工具包的 exec.vbs 工具可以從命令行運行和中止進程。例如,運行:
cscript exec.vbs /E calc
將在您的計算機上創(chuàng)建一個新的 Windows 計算器進程。也可用它運行遠程計算機上的進程。要中止
進程,可以運行:
cscript exec.vbs /X ProcessIDNumber
Process ID Number 可通過 ps.vbs 找到,該腳本可列出所有進程和相應(yīng)的 ID。同樣,利用 Windows 2000 支持工
具 TList.exe 和 Kill.exe 也可以運行和中止進程。Tlist.exe 大致相當于 ps.vbs(列出進程),而 Kill.exe 與 exec.vbs /X
的運行結(jié)果相同。
在處理進程的同時,可以使用資源工具包中的 top.exe 從命令窗口實時監(jiān)視進程的執(zhí)行。只需運行
top.exe,并啟動一個新的進程,或頻繁移動鼠標,您會注意到命令窗口中的變化。
默認情況下,許多診斷事件處于關(guān)閉狀態(tài),以防事件查看器負載過重。但如果出于故障診斷目的,
則最好打開與 Active Directory 有關(guān)的多數(shù)事件(如在診斷“復(fù)制”、“LDAP 操作”時)。可以在以下目錄
中查看域控制器的注冊表設(shè)置:
HKey_Local_Machine /System /CurrentControlSet /Services /NTDS /Diagnostics。
在此可以找到各種診斷事件,將設(shè)置改為 1 (啟用)即可打開這些事件。
談到事件,是否可以將“自己的”事件注冊到事件查看器中,并指定自定義的事件源和說明?沒
問題,這并不是只有開發(fā)人員才能做的事情。利用一個名為 LogEvent.exe 的資源工具包工具就可以做
到這一點。嘗試運行以下命令:
logevent -s I –r "Test" "THIS IS A TEST"
打開應(yīng)用程序日志,您可以在事件詳細資料中看到一個屬于信息 類的新事件,事件源為“Test”,
說明部分為“THIS IS A TEST”。可以隨意修改事件類型、ID、類別編號等。只需運行 logevent.exe /? 即可找
到不同的選項。您可以在登錄腳本或其他組織性操作中使用該命令,以便將自定義事件記錄到特
定計算機的事件日志中。
想要在遠程計算機上打開本地組策略的 MMC 嗎?只需轉(zhuǎn)到開始 | 運行,再鍵入:
gpedit.msc /gpcomputer: "Computername"
(其中 computername 是遠程計算機的 NetBIOS 名稱)。
我的竅門就介紹到這里。肯定還有更多可以和大家分享的竅門,但我希望已介紹的這些對您能有
所幫助,讓您的 Windows 2000 管理工作更輕松。