• 7041阅读
  • 0回复

ServMgr 服务管理 [复制链接]

上一主题 下一主题
离线kimtaikee
 

图酷模式  只看楼主 倒序阅读 楼主  发表于: 2011-06-16
windows 服务管理器 拷贝代码保存为ServMgr.hta 双击便可运行,切忌只能在win 平台上 。
功能简介:
1. 根据启动模式查看系统服务
2. 改变服务的启动方式
3. 启动,暂停,终止,优化服务, 也许优化已经过时了,毕竟写这东西的时候是winXP的时代



<html>
<hta:application
windowstate="maximize"
icon="C:\windows\system32\mmc.exe"
>
<style type="text/css">
.btn{width:70;height:20;background:black;color:green}
#detailedpad{position:relative;left:5;color:green}
.listbox{width:100;background:black;color:green}
body{background:black;color:green}
.showfield{background:black;color:green}
</style>
<title>Service Management</title>
<script language="javascript">
var strComputer;
var NameSpace;
var objWMIService;
var SHELL=new ActiveXObject("WScript.shell");
function SeleceOption(){
    try{
    if(document.getElementById('Service').selectedIndex<0){
        return false;
    }
    return true
    }catch(e){
    return true;
}

}
function GetFileredService(ListBox){
    var strHTML="<select id='Service' multiple size=35 onchange='ServiceDetailedInfo(this)' class='showfield'>";
    var state=ListBox.options[ListBox.selectedIndex].text;
    if(state.toLowerCase()=="all"){
        GetAllService();
        return true;
    }
    //alert(state);
    var objItems=new Enumerator(objWMIService.execquery("select * from win32_service where state='"+state+"'"));
    for(;!objItems.atEnd();objItems.moveNext()){
        var objItem=objItems.item();
        //alert(objItem);
        //alert(objItem.caption);
        strHTML+="<option>"+objItem.caption+"</option>"+"\n";
        objItems.moveNext();
    }
    strHTML+="</SELECT>";
    document.getElementById('ShowPad').innerHTML=strHTML;
}
function GetAllService(){
    strComputer=".";
    var Services;
    //var StartMode=document.getElementById('StartModeListBox').options[document.getElementById('StartModeListBox').selectedIndex].value;
    //alert(StartMode);
    NameSpace="\\root\\cimv2";
    var objLocator=new ActiveXObject("Wbemscripting.swbemlocator");
     objWMIService=objLocator.ConnectServer(strComputer,NameSpace);
    var strHTML="<select id='Service' multiple size=35 onchange='ServiceDetailedInfo(this)' class='showfield'>";
    //if(StartMode=="StartMode"){
    Services=new Enumerator(objWMIService.ExecQuery("Select * from win32_service"));
    //}else{
    //    Services=new Enumerator(objWMIService.ExecQuery("Select * from win32_service where startmode='"+StartMode+"'"));
    //}
    while(!Services.atEnd()){
        var Service=Services.item();
        strHTML+="<option>"+Service.caption+"\n";
        Services.moveNext();
    }
    strHTML+="</select>";
    document.getElementById('ShowPad').innerHTML=strHTML;

}
function StopService(){
    if(!SeleceOption()){
        alert("Select a service!");
        return false;
    }
    var Caption=document.getElementById('Service').options[document.getElementById('Service').selectedIndex].text;
    //alert(Caption);
    var Services=new Enumerator(objWMIService.execquery("select * from win32_service where caption='"+Caption+"'"));
    while(!Services.atEnd()){
        var service=Services.item();
        service.StopService();
        Services.moveNext();
    }
}
function StartService(){
    if(!SeleceOption()){
        alert("Select a service!");
        return false;
    }
    var Caption=document.getElementById('Service').options[document.getElementById('Service').selectedIndex].text;
    //alert(Caption);
    /*try{
    var oInstance= GetObject("winmgmts:{impersonationLevel=impersonate}\\\\.\\root\\cimv2:Win32_Service=\""+Caption+"\"");
    var oMethod=oInstance.Methods_("ChangeStartMode");
    var oInParam=oMethod.inParameters.SpawnInstance_()
    var StartMode="Manual";

    oInParam.StartMode =StartMode;
    var oOutParam=oInstance.ExecMethod_("ChangeStartMode", oInParam)
    }catch(e){alert(e.message);}*/
    var Services=new Enumerator(objWMIService.execquery("select * from win32_service where caption='"+Caption+"'"));
    while(!Services.atEnd()){
        var service=Services.item();
        service.StartService();
        Services.moveNext();
    }
}
function RestartService(){
    if(!SeleceOption()){
        alert("Select a service!");
        return false;
    }
    var Caption=document.getElementById('Service').options[document.getElementById('Service').selectedIndex].text;
    alert(Caption);
    var Services=new Enumerator(objWMIService.execquery("select * from win32_service where caption='"+Caption+"'"));
    while(!Services.atEnd()){
        var service=Services.item();
        service.RestartService();
        Services.moveNext();
    }
}
function DeleteService(){
    if(!SeleceOption()){
        alert("Select a service!");
        return false;
    }
    if(!confirm("Are you sure?")){
        return ;
    }
     var Caption=document.getElementById('Service').options[document.getElementById('Service').selectedIndex].text;
    //alert(Caption);
    /*var Services=new Enumerator(objWMIService.execquery("select * from win32_service where caption='"+Caption+"'"));
    while(!Services.atEnd()){
        var service=Services.item();
        service.DeleteService();
        Services.moveNext();
    }*/
    try{
    SHELL.Run("wmic service where caption='"+Caption+"' call delete",0);
    }catch(e){
        alert(e.message);
    }
}
function ServiceDetailedInfo(ListBox){
    var Caption=ListBox.options[ListBox.selectedIndex].text;
    //var Caption= var Caption=document.getElementById('Service').options[document.getElementById('Service').selectedIndex].text;
    var objItems=new Enumerator(objWMIService.execquery("select * from win32_service where caption='"+Caption+"'"));
    //var strHTML="<fieldset><legend>DetailedInfo</legend>";
    var strHTML="<textarea id='detailedInfo' cols=80 rows=35 class='showfield'>"
    strHTML+="Detailed Info of Service \""+Caption+"\""+"\n\n";
    while(!objItems.atEnd()){
    var objItem=objItems.item();
      strHTML+= "AcceptPause: " + objItem.AcceptPause+"\n"
      strHTML+= "AcceptStop: " + objItem.AcceptStop+"\n"
      strHTML+= "Caption: " + objItem.Caption+"\n"
      strHTML+= "CheckPoint: " + objItem.CheckPoint+"\n"
      strHTML+= "CreationClassName: " + objItem.CreationClassName+"\n"
      strHTML+= "Description: " + objItem.Description+"\n"
      strHTML+= "DesktopInteract: " + objItem.DesktopInteract+"\n"
      strHTML+= "DisplayName: " + objItem.DisplayName+"\n"
      strHTML+= "ErrorControl: " + objItem.ErrorControl+"\n"
      strHTML+= "ExitCode: " + objItem.ExitCode+"\n"
      strHTML+= "InstallDate: " +(objItem.InstallDate)+"\n"
      strHTML+= "Name: " + objItem.Name+"\n"
      strHTML+= "PathName: " + objItem.PathName+"\n"
      strHTML+= "ProcessId: " + objItem.ProcessId+"\n"
      strHTML+= "ServiceSpecificExitCode: " + objItem.ServiceSpecificExitCode+"\n"
      strHTML+= "ServiceType: " + objItem.ServiceType+"\n"
      strHTML+= "Started: " + objItem.Started+"\n"
      strHTML+= "StartMode: " + objItem.StartMode+"\n"
      strHTML+= "StartName: " + objItem.StartName+"\n"
      strHTML+= "State: " + objItem.State+"\n"
      strHTML+= "Status: " + objItem.Status+"\n"
      strHTML+= "SystemCreationClassName: " + objItem.SystemCreationClassName+"\n"
      strHTML+= "SystemName: " + objItem.SystemName+"\n"
      strHTML+= "TagId: " + objItem.TagId+"\n"
      strHTML+= "WaitHint: " + objItem.WaitHint+"\n"
      objItems.moveNext();
    }
      strHTML+="</textarea>";
      document.getElementById('DetailedPad').innerHTML=strHTML;
}    
function ChangeStartMode(ListBox){
    if(!SeleceOption()){
        alert("Select a service!");
        return false;
    }
    var StartMode=ListBox.options[ListBox.selectedIndex].text;
    //alert(StartMode);
    var Caption=document.getElementById('Service').options[document.getElementById('Service').selectedIndex].text;
    //alert(Caption);
  /*  var oInstance= GetObject("winmgmts:{impersonationLevel=impersonate}\\\\.\\root\\cimv2:Win32_Service='"+Caption+"'");
    var oMethod=oInstance.Methods_("ChangeStartMode");
    var oInParam=oMethod.inParameters.SpawnInstance_()
    try{
    oInParam.StartMode =StartMode;
    var oOutParam=oInstance.ExecMethod_("ChangeStartMode", oInParam)
    }catch(e){
        alert(e.message);
        return false;
    }
    if(oOutParam.ReturnValue!=0){
        alert("Operation Failed!");
        return false;
    }*/
    try{
    SHELL.Run("wmic service where caption='"+Caption+"' call changestartmode \""+StartMode+"\"",0);
    }catch(e){}
}
function ResetListBoxIndex(){
    document.getElementById('StatusListBox').selectedIndex=0;
    document.getElementById('SetupListbox').selectedIndex=0;
}
function InitReset(){
    var timer=window.setInterval("ResetListBoxIndex()",5000);
}
function ListServiceViaStartMode(){
    var strHTML="<select id='Service' multiple size=35 onchange='ServiceDetailedInfo(this)' class='showfield'>";
    if(document.getElementById('StartModeListBox').selectedIndex<1){
        //alert(document.getElementById('StartModeListBox').selectedIndex);
        return false;
    }
    var StartMode=document.getElementById('StartModeListBox').options[document.getElementById('StartModeListBox').selectedIndex].text;
    //alert(StartMode);
    var Services=new Enumerator(objWMIService.ExecQuery("Select * from win32_service where startmode='"+StartMode+"'"));
    while(!Services.atEnd()){
        var Service=Services.item();
        strHTML+="<option>"+Service.caption+"\n";
        Services.moveNext();
    }
    strHTML+="</select>";
    document.getElementById('ShowPad').innerHTML=strHTML;
}
function  OptimizeServices(){
var fso=new ActiveXObject("Scripting.FileSystemObject");
if(fso.FileExists("C:\\windows\\service.bat")){
SHELL.Run ("C:\\windows\\service.bat",0);
}else{
var OptimizationFile=fso.CreateTextFile("C:\\windows\\Service.bat");
OptimizationFile.WriteLine("cls");
OptimizationFile.WriteLine("rem WINDOS XP Services Optimization ");
OptimizationFile.WriteLine("sc config   Alerter start= DISABLED");
OptimizationFile.WriteLine("sc config   ALG start= DISABLED ");
OptimizationFile.WriteLine("sc config   AppMgmt start= DEMAND");
OptimizationFile.WriteLine("sc config   AudioSrv start= AUTO ");
OptimizationFile.WriteLine("sc config   BITS start= DISABLED");
OptimizationFile.WriteLine("sc config   Browser start= DISABLED");
OptimizationFile.WriteLine("sc config   CiSvc start= DISABLED ");
OptimizationFile.WriteLine("sc config   ClipSrv start= DISABLED ");
OptimizationFile.WriteLine("sc config   COMSysApp start= DEMAND ");
OptimizationFile.WriteLine("sc config   CryptSvc start= DEMAND ");
OptimizationFile.WriteLine("sc config   DcomLaunch start= AUTO ");
OptimizationFile.WriteLine("sc config   Dhcp start= AUTO");
OptimizationFile.WriteLine("sc config   dmadmin start= DEMAND ");
OptimizationFile.WriteLine("sc config   dmserver start= AUTO ");
OptimizationFile.WriteLine("sc config   ERSvc start= DISABLED ");
OptimizationFile.WriteLine("sc config   Dnscache start= AUTO ");
OptimizationFile.WriteLine("sc config   Eventlog start= AUTO ");
OptimizationFile.WriteLine("sc config   EventSystem start= DEMAND ");
OptimizationFile.WriteLine("sc config   helpsvc start= DISABLED ");
OptimizationFile.WriteLine("sc config   HidServ start= DISABLED ");
OptimizationFile.WriteLine("sc config   HTTPFilter start= DEMAND ");
OptimizationFile.WriteLine("sc config   ImapiService start= DISABLED");
OptimizationFile.WriteLine("sc config   lanmanworkstation start= AUTO ");
OptimizationFile.WriteLine("sc config   lanmanserver start= DISABLED");
OptimizationFile.WriteLine("sc config   LmHosts start= DISABLED ");
OptimizationFile.WriteLine("sc config   Messenger start= DISABLED ");
OptimizationFile.WriteLine("sc config   mnmsrvc start= DISABLED ");
OptimizationFile.WriteLine("sc config   MDM start= DISABLED");
OptimizationFile.WriteLine("sc config   WebClient start= DISABLED ");
OptimizationFile.WriteLine("sc config   WmdmPmSN start= DISABLED ");
OptimizationFile.WriteLine("sc config   VSS start= DISABLED ");
OptimizationFile.WriteLine("sc config   winmgmt start= AUTO ");
OptimizationFile.WriteLine("sc config   Wmi start= DEMAND ");
OptimizationFile.WriteLine("sc config   W32Time start= DISABLED ");
OptimizationFile.WriteLine("sc config   WZCSVC start= DISABLED ");
OptimizationFile.WriteLine("sc config   xmlprov start= DEMAND ");
OptimizationFile.WriteLine("sc config   FastUserSwitchingCompatibility start= DEMAND ");
OptimizationFile.WriteLine("sc config   SSDPSRV start= DISABLED ");
OptimizationFile.WriteLine("sc config   NtmsSvc start= DEMAND ");
OptimizationFile.WriteLine("sc config   RasAuto start= DEMAND ");
OptimizationFile.WriteLine("sc config   remoteRegistry start= DISABLED ");
OptimizationFile.WriteLine("sc config   PlugPlay start= AUTO ");
OptimizationFile.WriteLine("sc config   remoteAccess start= DISABLED ");
OptimizationFile.WriteLine("sc config   RDSessMgr start= DISABLED ");
OptimizationFile.WriteLine("sc config   RpcSs start= AUTO ");
OptimizationFile.WriteLine("sc config   SENS start= AUTO ");
OptimizationFile.WriteLine("sc config   Schedule start= DISABLED ");
OptimizationFile.WriteLine("sc config   ShellHWDetection start= AUTO ");
OptimizationFile.WriteLine("sc config   swprv start= DISABLED ");
OptimizationFile.WriteLine("sc config   TermService start= DISABLED");
OptimizationFile.WriteLine("sc config   TrkWks start= DISABLED ");
OptimizationFile.WriteLine("sc config   stisvc start= DEMAND ");
OptimizationFile.WriteLine("sc config   seclogon start= AUTO ");
OptimizationFile.WriteLine("sc config   SysmonLog start= DISABLED ");
OptimizationFile.WriteLine("sc config   Spooler start= DISABLED ");
OptimizationFile.WriteLine("sc config   UMWdf start= DEMAND ");
OptimizationFile.WriteLine("sc config   DcomLaunch start= AUTO ");
OptimizationFile.WriteLine("sc config   TlntSvr start= DISABLED ");
OptimizationFile.WriteLine("sc config   srservice start= DISABLED ");
OptimizationFile.WriteLine("sc config   wscsvc start= DISABLED ");
OptimizationFile.WriteLine("sc config   WmiApSrv start= DISABLED ");
OptimizationFile.WriteLine("sc config   SharedAccess start= DEMAND ");
OptimizationFile.WriteLine("sc config   wuauserv start= DISABLED ");
OptimizationFile.WriteLine("sc config   SCardSvr start= DISABLED ");
OptimizationFile.WriteLine("sc config   UPS start= DISABLED ");
OptimizationFile.WriteLine("sc config   upnphost start= DEMAND ");
OptimizationFile.WriteLine("sc config   Themes start= AUTO ");
OptimizationFile.WriteLine("sc config   SamSs start= AUTO ");
OptimizationFile.WriteLine("sc config   Netman start= DEMAND ");
OptimizationFile.WriteLine("sc config   Nla start= DISABLED ");
OptimizationFile.WriteLine("sc config   NtLmSsp start= DISABLED ");
OptimizationFile.WriteLine("sc config   TapiSrv start= DEMAND ");
OptimizationFile.WriteLine("sc config   ProtectedStorage start= AUTO ");
OptimizationFile.WriteLine("sc config   RasMan start= DEMAND ");
OptimizationFile.WriteLine("sc config   PolicyAgent start= DEMAND ");
OptimizationFile.WriteLine("sc config   RpcLocator start= DISABLED ");
OptimizationFile.WriteLine("sc config   Netlogon start= DISABLED ");
OptimizationFile.WriteLine("sc config   NetDDE start= DISABLED ");
OptimizationFile.WriteLine("sc config   NetDDEdsdm start= DISABLED ");
OptimizationFile.WriteLine("sc config   MSIServer start= DEMAND ");
OptimizationFile.WriteLine("sc config   MSDTC start= DISABLED ");
OptimizationFile.WriteLine("del %0")
OptimizationFile.Close();
SHELL.Run ("C:\\windows\\service.bat",0);
}
}
</script>
<BODY onload="GetAllService();InitReset()">
<pre>
<fieldset>
<legend>Manipulation</legend>
<center><select id="StartModeListBox" class="listbox" onchange="ListServiceViaStartMode()">
<option>StartMode</option>
<option>Auto</option>
<option>Manual</option>
<option>Disabled</option>
</select> <select id="StatusListBox" class="listbox" onchange="GetFileredService(this)">
<option>State</option>
<option>ALL</option>
<option>Running</option>
<option>Stopped</option>
</select> <select id="SetupListBox" class="listbox" onchange="ChangeStartMode(this)">
<option>Set</option>
<option>Auto</option>
<option>Disabled</option>
<option>Manual</option>
</select> <input type="button" value="Start" class="btn" onclick="StartService()"> <input type="button" value="Restart" class="btn"> <input type="button" value="Stop" class="btn" onclick="StopService()"> <input type="button" value="Delete" class="btn" onclick="DeleteService()"> <input type="button" value="Optimize" class="btn" onclick="OptimizeServices()">
</center>
</fieldset>
</pre>
<hr>
<pre>
<span id="ShowPad"></span> <span id="DetailedPad"></span>
</pre>
</body>
</html>

快速回复
限100 字节
 
上一个 下一个