Windows XP的遠程關機實現
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">在<SPAN lang=EN-US><FONT face=Calibri>Windows XP</FONT></SPAN>中,新增了一條命令行工具“<SPAN lang=EN-US><FONT face=Calibri>shutdown</FONT></SPAN>”,其作用是“關閉或重新啟動本地或遠程計算機”。利用它,我們不但可以注銷用戶,關閉或重新啟動計算機,還可以實現定時關機、遠程關機。</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri></FONT></SPAN> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">在<SPAN lang=EN-US><FONT face=Calibri>Windows XP</FONT></SPAN>中,新增了一條命令行工具“<SPAN lang=EN-US><FONT face=Calibri>shutdown</FONT></SPAN>”,其作用是“關閉或重新啟動本地或遠程計算機”。利用它,我們不但可以注銷用戶,關閉或重新啟動計算機,還可以實現定時關機、遠程關機。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri></FONT></SPAN> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 該命令的語法格式如下:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri></FONT></SPAN> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>shutdown [-i </FONT></SPAN> <SPAN lang=EN-US><FONT face=Calibri>-l</FONT></SPAN> <SPAN lang=EN-US><FONT face=Calibri>-s </FONT></SPAN> <SPAN lang=EN-US><FONT face=Calibri>-r </FONT></SPAN> <SPAN lang=EN-US><FONT face=Calibri>-a] [-f] [-m [\ComputerName]] [-t xx] [-c "message"] [-d[u][p]:xx:yy] </FONT></SPAN>其中,各參數的含義為:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-i </FONT></SPAN>顯示圖形界面的對話框。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-l </FONT></SPAN>注銷當前用戶,這是默認設置。<SPAN lang=EN-US><FONT face=Calibri>-m ComputerName </FONT></SPAN>優先。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-s </FONT></SPAN>關閉計算機。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-r </FONT></SPAN>關閉之后重新啟動。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-a </FONT></SPAN>中止關閉。除了<SPAN lang=EN-US><FONT face=Calibri> -l </FONT></SPAN>和<SPAN lang=EN-US><FONT face=Calibri> ComputerName </FONT></SPAN>外,系統將忽略其它參數。在超時期間,您只可以使用<SPAN lang=EN-US><FONT face=Calibri> -a</FONT></SPAN>。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-f </FONT></SPAN>強制運行要關閉的應用程序。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-m [\ComputerName] </FONT></SPAN>指定要關閉的計算機。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-t xx </FONT></SPAN>將用于系統關閉的定時器設置為<SPAN lang=EN-US><FONT face=Calibri> xx </FONT></SPAN>秒。默認值是<SPAN lang=EN-US><FONT face=Calibri> 20 </FONT></SPAN>秒。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-c "message" </FONT></SPAN>指定將在“系統關閉”窗口中的“消息”區域顯示的消息。最多可以使用<SPAN lang=EN-US><FONT face=Calibri> 127 </FONT></SPAN>個字符。引號中必須包含消息。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri></FONT></SPAN> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>-d [u][p]:xx:yy </FONT></SPAN>列出系統關閉的原因代碼。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri></FONT></SPAN> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 首先,我們來看一下該命令的一些基本用法:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>1</FONT></SPAN>、注銷當前用戶<SPAN lang=EN-US><FONT face=Calibri> shutdown - l </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 該命令只能注銷本機用戶,對遠程計算機不適用。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>2</FONT></SPAN>、關閉本地計算機<SPAN lang=EN-US><FONT face=Calibri> shutdown - s </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>3</FONT></SPAN>、重啟本地計算機<SPAN lang=EN-US><FONT face=Calibri> shutdown - r </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>4</FONT></SPAN>、定時關機<SPAN lang=EN-US><FONT face=Calibri> shutdown - s -t 30 </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 指定在<SPAN lang=EN-US><FONT face=Calibri>30</FONT></SPAN>秒之后自動關閉計算機。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>5</FONT></SPAN>、中止計算機的關閉<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 有時我們設定了計算機定時關機后,如果出于某種原因又想取消這次關機操作,就可以用<SPAN lang=EN-US><FONT face=Calibri> shutdown - a </FONT></SPAN>來中止。如:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>shutdown -s </FONT></SPAN>–<SPAN lang=EN-US><FONT face=Calibri> t 300 </FONT></SPAN>設定計算機在<SPAN lang=EN-US><FONT face=Calibri>5</FONT></SPAN>分鐘后關閉。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>Shutdown </FONT></SPAN>–<SPAN lang=EN-US><FONT face=Calibri> a </FONT></SPAN>取消上述關機操作。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 以上是<SPAN lang=EN-US><FONT face=Calibri>shutdown</FONT></SPAN>命令在本機中的一些基本應用。前面我們已經介紹過,該命令除了關閉、重啟本地計算機外,更重要的是它還能對遠程計算機進行操作,但是如何才能實現呢?<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri></FONT></SPAN> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 在該命令的格式中,有一個參數<SPAN lang=EN-US><FONT face=Calibri>[-m [\ComputerName]</FONT></SPAN>,用它可以指定將要關閉或重啟的計算機名稱,省略的話則默認為對本機操作。于是,我用以下命令試了一下:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>shutdown </FONT></SPAN>–<SPAN lang=EN-US><FONT face=Calibri>s </FONT></SPAN>–<SPAN lang=EN-US><FONT face=Calibri>m \netproxy -t 30 </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>(</FONT></SPAN>在<SPAN lang=EN-US><FONT face=Calibri>30</FONT></SPAN>秒內關閉計算機名為<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>的機器;注:<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>為局域網內一臺同樣裝有<SPAN lang=EN-US><FONT face=Calibri>Windows XP</FONT></SPAN>的電腦<SPAN lang=EN-US><FONT face=Calibri>) </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 但該命令執行后,計算機<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>一點反應都沒有,我的屏幕上卻返回這樣一句話:<SPAN lang=EN-US><FONT face=Calibri>Access is denied </FONT></SPAN>(拒絕訪問)。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 為什么會出現這種情況呢?我想了半天,四處查找有關的資料,終于發現,在<SPAN lang=EN-US><FONT face=Calibri>Windows XP</FONT></SPAN>默認的安全策略中,只有管理員組的用戶才有權從遠端關閉計算機,而一般情況下我們從局域網內的其他電腦來訪問該計算機時,則只有<SPAN lang=EN-US><FONT face=Calibri>guest</FONT></SPAN>用戶權限,所以當我們執行上述命令時,便會出現“拒絕訪問”的情況。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 找到問題的根源之后,解決的辦法也很簡單,只要在客戶計算機(能夠被遠程關閉的計算機,如上述的<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>)中賦予<SPAN lang=EN-US><FONT face=Calibri>guest</FONT></SPAN>用戶遠程關機的權限即可。這可利用<SPAN lang=EN-US><FONT face=Calibri>Windows XP</FONT></SPAN>的“組策略”或“管理工具”中的“本地安全策略”來實現。下面以“組策略”為例進行介紹:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>1</FONT></SPAN>、單擊“開始”按鈕,選擇“運行”,在對話框中輸入“<SPAN lang=EN-US><FONT face=Calibri>gpedit.msc</FONT></SPAN>”,然后單擊“確定”,打開“組策略編輯器”。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>2</FONT></SPAN>、在“組策略”窗口的左窗格中打開“計算機配置”—“<SPAN lang=EN-US><FONT face=Calibri>Windows </FONT></SPAN>設置”—“安全設置”—“本地策略”—“用戶權利指派”。(如圖)<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>3</FONT></SPAN>、在“組策略”窗口的右窗格中選擇“<SPAN lang=EN-US><FONT face=Calibri>Force shutdown from a remote system </FONT></SPAN>(從遠端系統強制關機)”,雙擊。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>4</FONT></SPAN>、在彈出的對話框中顯示目前只有“<SPAN lang=EN-US><FONT face=Calibri>Administrators</FONT></SPAN>”組的成員才有權從遠程關機;單擊對話框下方的“添加用戶或組”按鈕,然后在新彈出的對話框中輸入“<SPAN lang=EN-US><FONT face=Calibri>guest</FONT></SPAN>”,再單擊“確定”。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>5</FONT></SPAN>、這時在“從遠端系統強制關機”的屬性中便添加了一個“<SPAN lang=EN-US><FONT face=Calibri>guest</FONT></SPAN>”用戶,單擊“確定”即可。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>6</FONT></SPAN>、關閉“組策略”窗中。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 通過上述操作后,我們便給計算機<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>的<SPAN lang=EN-US><FONT face=Calibri>guest</FONT></SPAN>用戶授予了遠程關機的權限。以后,我們要遠程關閉計算機<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>,只要在網絡中其他裝有<SPAN lang=EN-US><FONT face=Calibri>Windows XP </FONT></SPAN>的電腦中輸入以下命令即可:<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> <SPAN lang=EN-US><FONT face=Calibri>shutdown -s </FONT></SPAN>–<SPAN lang=EN-US><FONT face=Calibri>m \netproxy -t 30 </FONT></SPAN>(其他參數用法同上)<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"> 這時,在<SPAN lang=EN-US><FONT face=Calibri>netproxy</FONT></SPAN>計算機的屏幕上將顯示一個“系統關機”的對話框,提示“系統即將關機。請保存所有正在運行的工作,然后注銷。未保存的改動將會丟失。關機是由<SPAN lang=EN-US><FONT face=Calibri>netproxy\guest</FONT></SPAN>初始的。”在對話框下方還有一個計時器,顯示離關機還有多少時間。在等待關機的時間里,用戶還可以執行其他的任務,如關閉程序、打開文件等,但無法關閉該對話框,除非你用<SPAN lang=EN-US><FONT face=Calibri>shutdown </FONT></SPAN>–<SPAN lang=EN-US><FONT face=Calibri>a</FONT></SPAN>命令來中止關機任務。<FONT face=Calibri> </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">最后,有一點要說明的是,<SPAN lang=EN-US><FONT face=Calibri>shutdown</FONT></SPAN>命令不但可以遠程關閉裝有<SPAN lang=EN-US><FONT face=Calibri>Windows XP</FONT></SPAN>系統的計算機,它還可以遠程關閉裝有<SPAN lang=EN-US><FONT face=Calibri>Windows 2000</FONT></SPAN>系統的計算機(對于<SPAN lang=EN-US><FONT face=Calibri>Win9X</FONT></SPAN>嘛,好像不適用)。有關<SPAN lang=EN-US><FONT face=Calibri>Windows 2000</FONT></SPAN>客戶計算機上的一些設置,操作方法同上,這里就不再多說了。<FONT face=Calibri> </FONT>另外<SPAN lang=EN-US><FONT face=Calibri>shutdown</FONT></SPAN>作為一個外部命令(其對應文件為<SPAN lang=EN-US><FONT face=Calibri>\Windows\system32</FONT></SPAN>文件夾下的<SPAN lang=EN-US><FONT face=Calibri>shutdown.exe</FONT></SPAN>),我們還可將它復制到<SPAN lang=EN-US><FONT face=Calibri>Windows 2000</FONT></SPAN>的機器上,這樣,在裝有<SPAN lang=EN-US><FONT face=Calibri>Windows 2000</FONT></SPAN>系統的機器之間便也能相互實現遠程關機。</P>