2008年11月25日 星期二

Windows XP中實現遠端關機

在Windows XP中,新增了一條指令行工具「shutdown」,其作用是「關閉或重新啟動本機或遠端電腦」。利用它,我們不但可以註銷用戶,關閉或重新啟動電腦,還可以實現定時關機、遠端關機。

  該指令的語法格式如下:

  shutdown [-i |-l|-s |-r |-a] [-f] [-m [\\ComputerName]] [-t xx] [-c "message"] [-d[u][p]:xx:yy] 其中,各參數的含義為:

  -i 顯示圖形界面的對話視窗。

  -l 註銷當前用戶,這是預設設定。-m ComputerName 優先。

  -s 電腦關機。

  -r 關閉之後重新啟動。

  -a 中止關閉。除了 -l 和 ComputerName 外,系統將忽略其它參數。在超時期間,您只可以使用 -a。

  -f 強制執行要關閉的應用程式。

  -m [\\ComputerName] 指定要關閉的電腦。

  -t xx 將用於系統關閉的定時器設定為 xx 秒。預設值是 20 秒。

  -c "message" 指定將在「系統關閉」視窗中的「消息」區域顯示的消息。最多可以使用 127 個字串。引號中必須包含消息。

  -d [u][p]:xx:yy 列出系統關閉的原因程式碼。

  首先,我們來看一下該指令的一些基本用法:

  1、註銷當前用戶

  shutdown - l

  該指令只能註銷本機用戶,對遠端電腦不適用。

 2、關閉本機電腦 shutdown - s

  3、重啟本機電腦

  shutdown - r

  4、定時關機

  shutdown - s -t 30

  指定在30秒之後自動電腦關機。

  5、中止電腦的關閉

  有時我們設定了電腦定時關機後,如果出於某種原因又想取消這次關機操作,就可以用 shutdown - a 來中止。如:

  shutdown -s – t 300 設定電腦在5分鐘後關閉。

  Shutdown – a 取消上述關機操作。

  以上是shutdown指令在本機中的一些基本套用。前面我們已經介紹過,該指令除了關閉、重啟本機電腦外,更重要的是它還能對遠端電腦進行操作,但是如何才能實現呢?

  在該指令的格式中,有一個參數[-m [\\ComputerName],用它可以指定將要關閉或重啟的電腦名稱稱,省略的話則預設為對本機操作。於是,我用以下指令試了一下:

  shutdown –s –m \\netproxy -t 30

  (在30秒內電腦關機名為netproxy的機器;註:netproxy為區域網路內一台同樣裝有Windows XP的電腦)

  但該指令執行後,電腦netproxy一點反應都沒有,我的螢幕上卻返回這樣一句話:Access is denied (拒絕訪問)。
 為什麼會出現這種情況呢?我想了半天,四處搜尋有關的資料,終於發現,在Windows XP預設的安全原則中,只有管理員組的用戶才有權從遠端電腦關機,而一般情況下我們從區域網路內的其他電腦來訪問該電腦時,則只有guest用戶權限,所以當我們執行上述指令時,便會出現「拒絕訪問」的情況。

  找到問題的根源之後,解決的辦法也很簡單,只要在客戶電腦(能夠被遠端關閉的電腦,如上述的netproxy)中賦予guest用戶遠端關機的權限即可。這可利用Windows XP的「群組原則」或「管理工具」中的「本機安全原則」來實現。下面以「群組原則」為例進行介紹:

  1、按擊「開始」按鈕,選項「執行」,在對話視窗中輸入「gpedit.msc」,然後按擊「確定」,開啟「群組原則編輯器」。

  2、在「群組原則」視窗的左視窗中開啟「電腦配置」—「Windows 設定」—「安全性設定」—「本機原則」—「用戶權利指派」。

  3、在「群組原則」視窗的右視窗中選項「Force shutdown from a remote system (從遠端系統強制關機)」,雙按。

 4、在彈出的對話視窗中顯示目前只有「Administrators」組的成員才有權從遠端關機;按擊對話視窗下方的「增加用戶或組」按鈕,然後在新彈出的對話視窗中輸入「guest」,再按擊「確定」。

  5、這時在「從遠端系統強制關機」的屬性內容中便增加了一個「guest」用戶,按擊「確定」即可。

  6、關閉「群組原則」窗中。

  通過上述操作後,我們便給電腦netproxy的guest用戶授予了遠端關機的權限。以後,我們要遠端電腦關機netproxy,只要在網路中其他裝有Windows XP 的電腦中輸入以下指令即可:

  shutdown -s –m \\netproxy -t 30 (其他參數用法同上)

  這時,在netproxy電腦的螢幕上將顯示一個「系統關機」的對話視窗,提示「系統即將關機。請儲存所有正在執行的工作,然後註銷。未儲存的改動將會丟失。關機是由netproxy\guest初始的。」在對話視窗下方還有一個計時器,顯示離關機還有多少時間。在等待關機的時間裡,用戶還可以執行其他的任務,如關閉程序、開啟文件等,但無法關閉該對話視窗,除非你用shutdown –a指令來中止關機任務。

  最後,有一點要說明的是,shutdown指令不但可以遠端關閉裝有Windows XP系統的電腦,它還可以遠端關閉裝有Windows 2000系統的電腦(對於Win9X嘛,好像不適用)。有關Windows 2000客戶電腦上的一些設定,操作方法同上,這裡就不再多說了。

另外shutdown作為一個外部指令(其對應文件為\Windows\system32資料夾下的shutdown.exe),我們還可將它複製到Windows 2000的電腦上,這樣,在裝有Windows 2000系統的機器之間便也能相互實現遠端關機。

沒有留言:

張貼留言