因為限制使用者帳號權限在 User Level 時,會造成使用者無法執行磁碟重整。
而Windows系統用久之後,資料破碎就會越來越嚴重,自然就會造成系統效能低落。
我試用過幾款磁碟重組軟體,很多都無法讓使用者重組,而且就算能,我也不太想額外裝一堆軟體,希望盡量使用內建的工具,這樣也不會有版權的問題。
所以就想寫一個可以遠端執行磁碟重組的程式。
當然,它可以命令列在遠端執行磁碟重組,也可以做很多事,就看您想幹什麼囉!
以下程式碼,只要存成 .hta 檔案,點擊兩下就可以執行
<html> <head> <meta http-equiv="content-type" content="text/html; charset=big5" /> <title>Remote Execute Command</title> <HTA:APPLICATION ID="objHTAHelpomatic" APPLICATIONNAME="HTAManagementAccount" SCROLL="No" SINGLEINSTANCE="yes" BORDER="thick" BORDERSTYLE="raised" MAXIMIZEBUTTON="no" SHOWINTASKBAR="yes" WINDOWSTATE="normal" > </head> <SCRIPT Language="VBScript"> ' Setup Window Size Sub Window_onLoad Const Width = 500 Const Height = 250 self.ResizeTo width,height Self.moveTo (screen.AvailWidth-width)/2,(screen.AvailHeight-height)/2 End Sub ' Defrag Server by Shell Sub ExecuteCmd strComputer = HostName.Value strCmd = Command.Value strArg = "cmd.exe /c " + strCmd ' strArg = strCmd Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process") errReturn = objWMIService.Create (strArg , Null, Null, intProcessID) msgbox("Finish ! " & strComputer ) set objWMIService = Nothing End Sub </SCRIPT> <body> 請選擇您的指令<br> <select name="Command"> <option value="gpupdate /force">Force Update Group PolicyF</option> <option value="wuauclt.exe /detectnow">Force Detect Update</option> <option value="del c:\thumbs.db /s /a">Clear Thumbs.db Files in Driver C</option> <option value="del d:\thumbs.db /s /a">Clear Thumbs.db Files in Driver D</option> <option value="cleanmgr c: /sagerun:1">Clean Manager in Driver C</option> <option value="cleanmgr d: /sagerun:1">Clean Manager in Driver D</option> <option value="defrag c: /v">Defrag System Driver</option> <option value="shutdown -s -t 0">Shutdown PC (Windows XP)</option> <option value="shutdown -r -t 0">Reboot PC (Windows XP)</option> <option value="shutdown /s /t 0">Shutdown PC (Windows Server 2003)</option> <option value="shutdown /r /t 0">Reboot PC (Windows Server 2003)</option> </select> <br> <br> 您要在哪台電腦上執行指令?<br> Host Name:<input type="text" name="HostName" size="30"><br> <input id=runbutton class="button" type="button" value="Execute" name="run_button" onClick="ExecuteCmd"><br> <br> <ul> <li>如果您輸入的電腦無法接受管理(例如:防火牆阻擋),將會發生錯誤訊息</li> </ul> </body> </html> |
如果要改成自己 Key In 命令,請參考 在遠端電腦上執行命令2
5 意見:
大哥你好
想請教你一下,如果我想輸入多的IP,然後按一下button讓他一次執行,不曉得程式改如何寫,可以幫忙一下嗎~非常感謝
我的作法會是將IP存入檔案,做個迴圈去讀取檔案,然後將讀取到的 IP 一一代入程式指令中...
我覺得如果增加一個 Text 欄位去處理頗麻煩,而且如果是從固定格式檔案讀取 IP,就有機會和其他管理程式協同運作,達到自動化的管理。
連線之電腦要設定哪些檔案嗎?我都連不出去(防火牆已經關閉了)
基本上不需要特別設定,但是請注意一下,遠端的電腦 WMI (Windows Management Instrumentation)服務是否已啟動?
張貼留言