遠程管理的使用,與活動目錄AD的使用、組策略的使用一樣重要。是衡量2000/03網絡管理員、系統管理員水平的重要指標。在遠程管理的實踐中,網管員經常被各種小問題所困擾,嚴重阻礙了管理員使用遠程管理來高效管理網絡。
本文將重點以Windows Server 2003為例,來討論遠程管理中經常出現的各種問題及其解決辦法,其中也會有些地方涉及到XP、2000等。但所有討論只針對微軟的Windows技術,將不會涉及到非微軟的遠程管理工具軟件。
文中討論的問題相對零散,但又彼此有一定的關聯。網管朋友如果能夠動手實踐一下,并做到舉一反三,相信對提高您的網管水平會大有幫助的(包括對協議、端口、服務的理解,硬件配置文件、注冊表的作用、MMC控制臺、終端服務與遠程桌面、Windows的命令行工具、組策略……)。建議收藏此文,需要時查詢。
對03/XP進行遠程管理,如果不考慮工具軟件,當然首推“遠程桌面”。遠程桌面功能強大,可以遠程為目標計算機安裝軟件,遠程運行目標計算機上的應用程序,遠程關機……,使你如同坐在目標計算機面前操作一樣。
03和XP的遠程桌面相當于2000S終端服務的遠程管理模式(另一種模式被稱為:應用程序服務器模式)。
2000S需要安裝終端服務后,才能被遠程管理。
03/XP只需要在:我的電腦/右鍵/屬性/“遠程”標簽下,選中遠程桌面的“允許用戶遠程連接到這臺計算機”即可。
若需要在03上,經常對多臺計算機(03/XP,安裝了終端服務的2000S)進行“遠程桌面”管理??梢?
1、 開始/運行:MMC
2、 “文件”菜單/添加刪除管理單元/添加/遠程桌面
3、 控制臺根節點/遠程桌面/右鍵/添加新連接,輸入:目標ip、名稱、用戶名、口令、域。
4、 重復步驟3,將目標計算機逐個添加到控制臺
5、 退出時保存此控制臺,以方便下次使用。
問題1:我們在實際工作中常常遇到這樣的情況:當我們想要對目標03/XP計算機進行遠程管理時,才發現未在目標計算機上啟用“遠程桌面”,當然可以跑過去啟用上,這樣很麻煩。如果是托管的服務器,或者離得很遠,那就更麻煩了。
解決:利用遠程注冊表功能。具體操作如下:
1、將本地機的管理員口令改為與目標計算機的管理員口令相同,使目標機的Windows系統把你當做它本地的管理員。
【說明】上面的方法是:解決對遠程目標計算機管理的操作權限問題,最有效、最通用的辦法。其它的辦法下面也會介紹,如二次登錄(RunAs);或在要求身份驗證時輸入用戶名、口令。但其它方法都不那么通用,或經常容易出現問題。
2、重新登錄進來后,開始/運行:regedit,進入到注冊表編輯器,選擇“文件”菜單下的“連接網絡注冊表”,輸入目標計算機IP。
3、找到目標機注冊表下的:機器/系統/當前控制設置/控制/終端服務(即:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server),將fDenyTSConnections的值由1改為0即可,這相當于選中“允許用戶遠程連接到這臺計算機”選項。
問題2:遠程注冊表功能,還常用于解決這樣的故障:計算機啟動后,輸入用戶名、口令,點確定登錄后,停止于某一自動運行的應用程序上,根本見不到桌面。比如:Ghost7.5的樣機被拉鏡像后,未運行ngctdos (或ngctw32) –hide命令就直接重啟了。又比如:卸載那種登錄時自動運行的應用程序時,中間出錯或中斷。
這些故障都會在注冊表的Run項下留下垃圾,嚴重時就會導致上述錯誤:根本看不到桌面,進安全模式也是一樣,這樣也就無法在本地修改注冊表了。
解決:當然知道了問題的原因,解決辦法就很簡單了。
1、遠程注冊表進來后,將光標置于“機器”子樹上,點“編輯”菜單下的查找,查找項:Run(取消值和數據前的對勾,選中“全字匹配”,這樣搜索得快些)。一般問題就出在Run項(即:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run)下的某個值和數據上,手動刪除即可。目前還未見到問題出在RunOnce、RunOnceEx項下的情況。
2、如果未找到出錯的值,也可將光標置于“當前用戶”子樹上,重復上面的步驟。
【說明】直接搜索出錯信息中的相關內容,也是個好辦法,只是有時未必能搜索得到。
問題3:我們想遠程管理計算機,但目標是:未啟用“遠程桌面的”XP/03、2000S未安裝終端服務或2000P。這時我們也可以利用“計算機管理”的遠程功能(功能要弱于遠程桌面,因為Windows管理工具的遠程管理功能都要依賴于所提供的插件)。具體操作如下:
0、操作權限解決同上(常見故障:win32拒絕訪問,這是權限問題,或未通過驗證)
1、我的電腦/右鍵/管理,進到“計算機管理”
2、計算機管理(本地)/右鍵/連接到另一臺計算機,輸入目標計算機IP。
3、如同管理本地計算機一樣:遠程創建用戶、修改口令,管理設備、磁盤,管理服務等等。
下面僅舉兩例來說明問題:
實用案例1:遠程關閉/重啟計算機,操作如下(接上面的步驟):
1、 計算機管理(目標機IP)/右鍵/屬性/
2、 “高級”標簽/設置,“啟動和故障恢復”框/關機
3、 選擇,操作:關機或重新啟動;強制應用程序關閉:總是(可能丟失數據)
4、 點確定后,遠程目標計算機將關機或重啟。
此種方法遠程關機的優點在于:不需要在目標機上安裝終端服務,系統為2000/XP/03均可以,只要有權限就可以做到。而且是圖形界面操作簡單,不需要記命令。
實用案例2:目標計算機由于“沖擊波”病毒等原因,導致RPC服務被禁用了,重啟機后RPC服務處于停止狀態。癥狀:無法打開各種對話框;網上鄰居/右鍵/屬性,看不到“本地連接”;粘貼不可用,無法復制文件;任務欄找不到最小化的應用程序…………。結果導致:由于在本地無法打開RPC服務的屬性對話框,也就沒辦法來重設RPC服務的啟動類型了。
1、 若目標為2000計算機,可以這樣來解決:利用遠程“計算機管理”,設置目標機上的RPC服務啟動類型:自動,然后重啟目標計算機。
【說明】順便對想做這個實驗的讀者,說明一下如何停止RPC服務:
(1) 在2000上可以將RPC、Plug and Play等服務的啟動類型由“自動”改為“禁止”(但不能手動停止,需要設“禁止”后重啟機)。
(2) 但在03/XP上無法做到上述這點,啟動類型下拉菜單為灰色不可選。要禁止,可以用2000計算機,通過遠程“計算機管理”連接過來后,進行修改。也就是說,下拉菜單是否可選,取決于本地操作系統,而非目標操作系統。也可以利用sc config 命令將RPC服務啟動類型設為“禁止”,后面詳細介紹。
(3) 實驗中要慎重,如果將RPC服務禁用停止后,又沒有辦法再把它啟動起來,你將不得不重做系統。
(4) 我的兩名助手在按著我的初稿,做這個實驗時,不約而同地犯了同樣的錯誤。因此我覺得:實在有必要把下面的問題及其解決辦法說明一下。
問題:在試著禁用RPC服務時,他們都在RPC服務/右鍵/屬性/“登錄”標簽下,在硬件配置文件PRofile 1中將RPC服務禁用了。其結果導致后來即使把RPC服務的啟動類型設為自動,但由于硬件配置文件的禁止,也無法啟動RPC服務了。出錯提示為:“在本地計算機上無法啟動RPC服務。錯誤1058:無法啟動服務,原因可能是已被禁用或與其相關聯的設備沒有啟動?!?/P>
解決:由于此時無法找開對話框,就只能利用注冊表了。
A、 開始/運行:regedit,找到下面的項:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Hardware Profiles/Current/System/CurrentControlSet/Enum/ROOT/LEGACY_RPCSS
B、 將此項下的CSConfigFlags的數據由1改為0(相當于啟用)。
說明:也可以干脆刪除ROOT下的LEGACY_RPCSS項。
C、重啟計算機。
2、若目標為03/XP計算機,當RPC服務停止時,使用遠程“計算機管理”,無法連接到目標計算機??梢栽诠收蠙C上本地運行:sc config rpcss start= auto,或遠程運行:sc //目標IP config rpcss start= auto來解決(后面詳細介紹)。設成自動后,在“計算機管理”的圖形界面下,雖然可以直接點工具欄上的“啟動服務”按鈕,手動將RPC服務啟動起來(或本地開始/運行:net start rpcss),但最好還是重啟一次機。
【說明】感興趣的讀者,可以自己試一下:雖然此時RPC服務已經啟動,但你用遠程“計算機管理”仍然連不來,任務欄上也看不到運行的應用程序,需要重啟03/XP以后才行。因為有眾多的服務依賴于RPC服務,這些服務此時并沒有啟動起來。
【附加說明】解決RPC服務禁用、停止還可以利用如下的辦法。
(1)編輯本地注冊表(若目標為2000,遠程編輯注冊表也可以):HLM/SYSTEM/CurrentControlSet/Services/RpcSs下,設start=2 (即自動)
(2)利用恢復控制臺的Enable命令:Enable RpcSs service_auto_start
(3)如果計算機是域成員,可利用組策略來覆蓋其本地設置。具體:域或OU的組策略/計算機配置/Windows設置/安全設置/系統服務(注:本地策略無此項)/RPC,選擇服務啟動模式
(4)附表:服務啟動類型在注冊表、恢復控制臺的Enable命令、Sc config命令中的值。
啟動類型 注冊表 Enable Sc config
啟動 0 Boot 空格Boot
系統 1 System 空格System
自動 2 Auto 空格Auto
手動 3 Demand 空格Demand
禁用 4 使用Disabled命令 空格Disabled
問題4:利用shutdown命令,關閉遠程計算機。我們來逐步深入討論一下:
1、 shutdown命令在2000下沒有,使用時需要安裝2000資源工具包(resource kit)。
2、 在03上直接使用,最長關機延遲為600秒(10分鐘),若要做成定時關機,一般需要結合“任務計劃”。(注意:XP上的shutdown命令,沒有最長關機延遲:600秒的限制。)
具體操作如下:
(1)創建一個批處理文件,如shut.bat,其內容為:shutdown /s (不指定時間參數,默認關機延遲提示為30秒,shutdown –a可取消關機操作)。
(2)開始/程序/附件/系統工具/任務計劃
(3)添加任務計劃/瀏覽/找到shut.bat,指定執行時間(可利用“顯示多項計劃”指定不規則的多個時間),輸入管理員密碼,以保證到時有權限執行這個任務計劃中的任務。
3、若要遠程關閉目標計算機,命令為:shutdown /m //目標IP /s /t xxx秒
【說明】操作權限問題,可利用前面講過的同名、同口令來解決。若不想修改口令,也可以利用RunAs命令,下面就要介紹。
問題5:利用RunAs命令解決遠程管理中的權限問題
1、 命令格式:RunAs /netonly /user:域名或計算機名/用戶名 命令
【說明】
(1)/netonly參數表示其后指明的用戶身份,僅在網絡訪問時才使用。
(2)最后跟的命令中若帶參數,有空格,需要用引號括起來。
如:RunAs /netonly /user:Server1/administrator “shutdown /m /⏺.63.243.1 /s /t 600”
又如:想利用遠程“計算機管理”,又不想修改本地管理員口令,可以:
RunAs /netonly /user:Server1/administrator mmc.exe
這個沒有空格,不用括起來。命令運行后將彈出MMC控制臺,手動添加“計算機管理(目標IP)”。這個階段相當于是以本地管理員身份來做這些事情,只有真正連過去進行遠程“計算機管理”操作時,才是以目標機的管理員身份,這就是/netonly參數的用途。
(3)注意:利用MMC創建目標機的“計算機管理”的.msc工具,再在圖形界面下Shift+右鍵/運行方式,進行二次登錄的方式是行不通的。出錯提示為:無法打開“目標IP”上的服務控制管理器數據,錯誤5:拒絕訪問。
2、 回車后,將提示輸入目標計算機/用戶口令,鍵入口令后,命令將在本地或目標計算機上執行。
問題6:利用Telnet進行遠程管理,而默認Telnet服務不啟動。
【說明】
1、利用Telnet連接到目標計算機,進行遠程管理,其作用相當于在目標計算機的命令提示符下操作>嚀迥芙心男┰凍坦芾聿僮鰨覽滌諛勘昊舷鐘械拿钚泄ぞ?。\n2、既然有遠程桌面、MMC控制臺等這些圖形界面的遠程管理工具,那么為什么還要使用Telnet這樣古老的工具呢?圖形界面的遠程管理工具,依賴的服務、其它相關資源較多,經常會不可用。而Telnet小巧精悍,往住有其獨到之處。
比如:2000計算機被安全策略中“拒絕登錄”權利所阻止,此時管理員也無法登錄到圖形界面,這時我們就可以通過Telnet連過去,利用secedit命令進行安全設置的導入、導出、刷新來解決這個問題。(相關內容可參考我的文章《2000中“拒絕登錄”的解決辦法》,或網上的相關文章)
問題:Telnet服務的啟動類型:03/XP默認為禁用,2000默認為手動??傊?,默認情況下它是不會啟動的。此時連過去的出錯信息為:正在連接到xxx,不能打開到主機的連接,在端口23:連接失敗。
解決:
<方法1>利用問題3中的辦法,使用遠程“計算機管理”,設置啟動類型:自動,并直接將Telnet服務啟動起來。
<方法2>利用服務控制命令SC配置服務啟動類型,并啟動服務。
(1)操作權限問題,可利用同名同口令或RunAs解決
(2)配置服務啟動類型:sc //目標IP config tlntsvr start= auto
【說明】
A、 tlntsvr為Telnet的服務名。可在計算機管理/服務/telnet/屬性下找到這樣的內容:可執行文件的路徑:C:/WINDOWS/system32/tlntsvr.exe,則其服務名為tlntsvr。對于其它服務,有一點要注意:如RPC服務的可執行文件的路徑:C:/WINDOWS/system32/svchost -k rpcss,但它的服務名是rpcss,而非svchost。
B、 在start=和啟動類型之間必須一個空格
C、 SC命令幾乎可以用于所有服務的配置。
(3)啟動服務:sc //目標IP start tlntsvr
【說明】不能用sc start/stop來啟動/停止RPC服務,出錯提示為:請求的控件對此服務無效。
<方法3>利用SC設置服務啟動類型,然后使用tlntadmn啟動Telnet服務
命令:tlntadmn //目標IP start
【說明】
A、 tlntadmn可以啟動/停止Telnet服務,但不能設置Telnet服務啟動類型。
B、 03/XP上tlntadmn不能管理2000上的Telnet服務,反之亦然。即tlntadmn的版本是不同的,操作上也有所不同,2000的tlntadmn不支持遠程功能,采用級連菜單方式。
C、 03/XP上的tlntadmn命令本身帶有-u –p參數,可以指定對目標機操作的用戶身份和口令,注意不支持空密碼。2000上的tlntadmn命令沒有-u –p參數
D、 tlntadmn命令還可以修改Telnet服務的默認端口:23為其它值(sc config命令無此功能)。03/XP執行此操作的命令格式為:tlntadmn //目標IP config port=xxxx。xxxx為小于1024的正數。
問題7:遠程修改目標機上的Telnet服務默認端口,比如托管的服務器,原來基于安全考慮,在服務器上把telnet的默認端口TCP:23給封掉了,或被連接中的某個防火墻的設置所阻止。
1、若目標為03/XP,可以按照上面方法,用tlntadmn修改telnet服務的默認端口。
2、若目標為2000,由于2000的tlntadmn不支持遠程功能,03/XP上tlntadmn又不能管理2000上的Telnet服務,這時就不得不利用遠程注冊表功能了。具體操作如下:
(1)利用前面講過的“遠程注冊表”功能連過去
(2)搜索:(2000注冊表中的稱謂是:名稱、類型、數據;03注冊表中的稱謂是:項、值、數據)類型/值:telnetport,(具體位置:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/TelnetServerΙ.0下)
(3)將telnetport的默認值由23(十進制數)改為0-1024范圍內的任意值即可。
新聞熱點
疑難解答