zoukankan      html  css  js  c++  java
  • Restart IIS With Powershell

     
    [system.Reflection.Assembly]
    ::LoadWithPartialName("System.ServiceProcess"| out-Null
     
    function Get-ServiceStartupMode
     {
         
    param([string]$servicename,[string]$serverName)
         
    $startMode= gwmi win32_service -filter "NAME = '$servicename'" -computername $serverName  | Select -Property StartMode
         
    $startMode
     }

    function Get-DependentServices{
         
    Param([System.ServiceProcess.ServiceController]$MasterService)
         
    foreach($dependent in $MasterService.DependentServices)
         {
             
    $dependent
             Get
    -DependentServices $dependent
         }
     }
     
     
     
    function Restart-MainServices
     {
        
    Param($ServiceName = $(throw ‘$ServiceName is Required’))
         
    process
         {
             
    $Service = New-Object System.ServiceProcess.ServiceController($ServiceName,$_)
             
    $DependentServices = Get-DependentServices $Service
             
             
    if($Service.CanStop)
             {
                
    $Service.Stop()
                
    $Service.WaitForStatus("Stopped",(new-object system.TimeSpan(0,0,20)))
             }
             
             
    if($Service.status -eq "Stopped")
             { 
                 Write
    -Host "===Main Service:$($Service.name) start==="
                 
    $Service.Start()
                 
    $Service.WaitForStatus("Running",(new-object system.TimeSpan(0,0,30)))
             }
             
             
    foreach($dependent in $DependentServices )
             {
                 
    $dependent.Refresh()
                 
    $startMode= Get-ServiceStartupMode -servicename $dependent.name -serverName $_
                 
    if($startMode.StartMode -eq "Auto")
                 {
                     Write
    -Host "===dependent Service:$($dependent.name) start==="+ $startMode.StartMode
                     
    if($dependent.status -ne "Running")
                     {
                         
    $dependent.Start()
                         
    $dependent.WaitForStatus("Running",(new-object system.TimeSpan(0,0,30)))
                     }
                 }
                 
             }
             
    $Service.Refresh()
             
    $Service
             
    $Service.DependentServices
          }
       
     }
     
  • 相关阅读:
    Pymongo
    asp.net mvc4 使用java异步提交form表单时出现[object object] has no method ajaxSubmit
    C# Activator.CreateInstance()
    GridView中某一列值的总和(web)
    02.[WPF]如何固定窗口的大小
    01.WPF中制作无边框窗体
    C#.net时间戳转换
    org.springframework.beans.factory.BeanCreationException: 求教育!
    log4Net配置详解
    SQL语句-创建索引
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/1995774.html
Copyright © 2011-2022 走看看