電腦重啟指令碼

來源:互聯網
上載者:User

方案一:
  Set oShell = WScript.CreateObject ("WSCript.shell")
  oShell.run "shutdown -r -f -t 1", true
存在的問題:
ShutDown是XP的命令,因此該指令碼在WIN2K下不能運行。
即使在XP下,僅適用於超級使用者,普通使用者在DOS下執行後會提示:
操作成功完成。
用戶端沒有所需的特權。
(如果把ShutDown拷貝到WIN2K下,普通使用者也是這個提示)
因此該指令碼無法在普通使用者下實現重啟,實用度:2。

嚴格地說,普通使用者想用shutdown,則必須要有兩個許可權:關閉系統(SeShutdownPrivilege)、從遠端系統強制關機(SeRemoteShutdownPrivilege)。可以通過Tokenmon來驗證這一點,並且通過對INTERACTIVE組加上遠程關機許可權來解決問題。2009-05-10的03640號日誌中有更詳細的說明。另外,我們常用的procexp.exe(Process Explorer)也可以看出某個程式所具有的許可權。

方案二:
shutdown有問題,則換成其它關機命令試試,如:rundll32 shell32,SHExitWindowsEx 2
但在,在WIN2K與XP下,得到的結果都是:
shell32 出錯
丟失條目: SHExitWindowsEx

另一個用於Win98的命令也搬過來:rundll32 user.exe,RestartWindows
XP啟動並執行提示為:
應用程式或 DLL C:\WINDOWS\system32\user.exe 為無效的 Windows 映像。請再檢測一遍您的安裝盤。
載入 user.exe 時出錯
%1 不是有效 Win32 應用程式。
WIN2K下運行,則沒有這些提示,但是也沒有任何效果。

改為user32.exe,則XP與WIN2K都提示:
載入 user32.exe 時出錯
找不到指定的模組。

在XP下試成功:rundll32 shell32,#59
提示:@#$%必須重新啟動電腦才能使新的設定生效。
想現在就重新啟動電腦嗎?
但點擊“是”,卻沒重啟。並且提示資訊我們實際需要更改。

實用度:0

方案三:
顯示關機對話方塊
  set oApplication = CreateObject("Shell.Application.1")
  oApplication.ShutdownWindows()
雖然它可以在WIN2K與XP運行得很好,但它只是顯示關機的對話方塊,剩下,要關機、重啟、或登出,是使用者來選擇,“確定”也是使用者來點擊。網路上有使用發送游標上下移動鍵,以及斷行符號來實現自動重啟功能。自己感覺不是個好辦法。

實用度:1

方案四:
用批處理實現重啟
@echo off
setlocal
cd/d %temp%
echo [version] > reboot.inf
set inf=InstallHinfSection DefaultInstall
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,%inf% 1 %temp%\reboot.inf
del reboot.inf
以上代碼學習的地方是很多,包括:setlocal、cd/d、rundll32 setupapi。但在WIN2K與XP下,普通帳號啟動並執行結果都是:安裝失敗。所以沒有重啟成功。而超級使用者卻正常。估計是要對註冊表HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce要有完全控制許可權。

實用度:1

方案五:
WMI
代碼如下:
Set oWMI = GetObject("winmgmts:" & _
                     "{impersonationLevel=impersonate,(Shutdown)}!" & _
                     "\\." & _
                     "\root\cimv2")
Set cOSs = oWMI.ExecQuery("Select * from Win32_OperatingSystem")
For Each oOS in cOSs
  oOS.Reboot()
Next

它對WIN2K與XP都適用。
最後就用它了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.