linux - Hvordan stopper og genstarter jeg de ledsagende dll'er af en tjeneste på Windows-systemer?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at opbygge et script ved hjælp af PowerShell for at undertrykke advarsler fra Systems (Windows Server) overvåget af Webhobbit. Webhobbit får systemstatistikker (CPU/Hukommelse i brug/oppetid mv.) Fra et program kaldet BBwin.
BBwin rapporterer disse statistikker ved hjælp af dll-filer, den har indbygget.


For Unix-servere kunne jeg undertrykke advarslen ved bare at deaktivere de kørende dll'er ved hjælp af et bash script. Men jeg kan ikke gøre det ved at bruge Powershell på en Windows Server. Jeg har forsøgt at bruge regsrv32.exe i mit script, det virker ikke. Med PowerShell kunne jeg bare stoppe BBWin-tjenesten, men ikke hver dlls indlæst


Mit spørgsmål er: Hvordan stopper og genstarter jeg de ledsagende dll'er af en tjeneste på Windows-systemer?


Nedenfor er de scripts, jeg har bygget til at undertrykke advarslerne:


Bash Script


 #!/bin/bash

if [ $# -lt 2 ]; then
   echo "USAGE:  $2 time 'message'"
   echo "Where"
   echo "   time = maintenance time [in minutes]"
   echo "   message = 'quoted downtime message' [enclosed in single-quotes]"
   exit
fi

time=$1
message=$2

# List of hosts to disable
hosts='ABCD'
tests='msgs procs url'

for test in $tests; do

   for host in $hosts; do
      echo "Disabling $host.$test"
      /usr/local/hobbit/client/bin/bb webhobbit "disable $host.$test $time $message"
   done
done 


PowerShell Script


   $services = 'BBwin'
   $servers  = 'ABCD'
   $problems = @()

   foreach($server in $servers){
   foreach($service in $services){


   # Checking the current status of the BBwin
   $service\_status = (Get-Service -Name $service).status

   #If Service Status Is : Running
   if(($service\_status -eq 'running')){

        Stop-Service -Name $service 

        # Try to stop it and wait 5 seconds
        Start-Sleep -Seconds 5


        #How do I get access to msgs procs url?



        # Check again if it is running now, if not add info to $problems
        if((((Get-Service -Name $service).status) -eq 'stopped')){
          Write-Host "Process stopped succesfully"
        }
      }
    }
  }

Bedste reference