Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Powershell ein "$" Zeichen als Parameter übergeben

$
0
0

Hi, ich übergebe an mein Sevice Prüfskript die Dienste die ich prüfen möchte.

Nun gibt es leider Dienste, die lustigste Sachen in ihren Servicenamen packen.

Bsp.: MSSQL$DATEV_DBENGINE,SQLAgent$DATEV_DBENGINE

Wenn ich diese nun übergebe, erkennt PS hierrin Variablen.

Habe einmal den Teil des Skriptes mit angehongen:

$logfile="C:\service_start.log"
$server=$args[0]
$services=$args[1].split(",")

$result="OK - Service Checks"
$error="0"
$runningservices=""
$runningservices=Get-Service -ComputerName $server

foreach ($i in $services)
{
if ($runningservices.Name.ToLower() -match $i.ToLower())
{

$position=[array]::indexof($runningservices.Name.ToLower(),$i.ToLower())

$chanelname=$runningservices[$position].Name
$chaneldispname=$runningservices[$position].DisplayName

if ($chanelname) {} else {$chanelname=$i}


if ($runningservices[$position].Status -like "Running") 
{
echo "<value>1</value>"

}

else {
echo $i
echo "<value>0</value>"
$error="1"
try {
#
$unixtime=(Get-Date -UFormat %s) -Replace("[,\.]\d*", "")
echo "" >>$logfile
$unixtime24hago=$unixtime-86400

$servicestartlog=Get-Content $logfile

foreach ($i in $servicestartlog)
{
$logvalues=$i.split(":")
#$logvalues
#echo $logvalues[0] $logvalues[2]

if (($logvalues[0] -eq $server) -and ($logvalues[1] -eq $chanelname) -or ($logvalues[0] -eq "" ) )
{

#echo $logvalues[2]
if ($logvalues[2] -gt $unixtime24hago)
{
$mail=$mail+"||"+$i
$sendmail=$sendmail+1
}
else{
$return=Get-Service $chanelname -ComputerName $server | start-service
echo $server":"$chanelname":"$unixtime >>$logfile
}
}
}
if ($sendmail -eq 1) {
Send-MailMessage -To $emailTo -Subject $subject -Body $mail -SmtpServer $smtpServer -From $emailFrom -Priority $priority 
}
}
catch
{
#echo "fehler"
#echo "returncode:" $return
}


$problem="$chanelname,$problem"
$result="Problem with Service: $problem"
}

}

}

if ($error -eq "0")
{
#write-host 0
#write-host "End: ExitCode 0"
exit 0
}
else { 
#write-host "End: ExitCode 1"
echo "<error>1</error>"
exit 1}

Mfg. Chris


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>