pixel0815
Goto Top

Dienst Stoppen und deaktivieren per Powershell und WMI auf remote Server

Moin,

gibt es da eine einfache möglichkeit einen gewissen Dienst zu deaktivieren und vorher zu stoppen?
Die Computernamen sollen aus dem AD ausgelesen werden anhand des Kürzels SRV*.

Gruß
Pixel

Content-Key: 309191

Url: https://administrator.de/contentid/309191

Printed on: April 25, 2024 at 20:04 o'clock

Member: pixel0815
pixel0815 Jul 07, 2016 at 10:54:19 (UTC)
Goto Top
OK ist erledigt. Wen es interessiert.
Ist ganz nett. Mit der Änderung der zwei Variablen ist das genau das was ich will.

http://techibee.com/powershell/disable-list-of-services-on-remote-compu ...

$computername = Get-ADComputer -Filter "Name -like 'adm*'" -Properties * | Where-Object OperatingSystem -Like '*Server*' | Select-Object -expand Name          
$ServiceName = "Wsearch"  
            
foreach($Computer in $ComputerName) {            
 Write-Host "Working on $Computer"              
 if(!(Test-Connection -ComputerName $Computer -Count 1 -quiet)) {            
  Write-Warning "$computer : Offline"              
  Continue            
 }            
             
 foreach($service in $ServiceName) {            
  try {            
   $ServiceObject = Get-WMIObject -Class Win32_Service -ComputerName $Computer -Filter "Name='$service'" -EA Stop              
   if(!$ServiceObject) {            
    Write-Warning "$Computer : No service found with the name $service"              
    Continue            
   }            
   if($ServiceObject.StartMode -eq "Disabled") {              
    Write-Warning "$Computer : Service with the name $service already in disabled state"              
    Continue            
   }            
               
   Set-Service -ComputerName $Computer -Name $service -EA Stop -StartMode Disabled            
   Write-Host "$Computer : Successfully disabled the service $service. Trying to stop it"              
   if($ServiceObject.Status -eq "Running") {              
    Write-Warning "$Computer : $service already in stopped state"              
    Continue            
   }            
   $retval = $ServiceObject.StopService()            
            
   if($retval.ReturnValue -ne 0) {            
    Write-Warning "$Computer : Failed to stop service. Return value is $($retval.ReturnValue)"              
    Continue            
   }            
               
   Write-Host "$Computer : Stopped service successfully"              
               
  } catch {            
   Write-Warning "$computer : Failed to query $service. Details : $_"              
   Continue            
  }            
             
 }            
            
}