spsman
Goto Top

Aufgabenplanung: Powershell Script im Hintergrund mit Userbenachrichtigung im Vordergrund

Hallo,

ich hatte die Aufgabe ein Powershell Skript per Aufgabenplaner im Hintergrund auszuführen und dennoch Benachrichtigungen an den User auszugeben.

Also erstmal das Powershellscript:
#Aktuelle standardpfad Setzen
Set-Location "C:\PS_Projekte"  

#dezidierte Scripte einbinden
Get-ChildItem ".\00_scripte" | Where {$_.Name -like "*.ps1"} | ForEach {  
 
    . .\00_scripte\$_
}

sendenachricht "Hallo Welt!"  
Start-Sleep -Seconds 35
sendenachricht "Guten Nacht Welt"  


Das ist natürlich nur ein kleines Beispiel.
Wie ihr seht gibt es dort ein "sendenachricht" Modul. Und das sieht so aus:

#Nachricht aus einem Hintergundscript senden
function sendenachricht($text_string){
MSG /SERVER:127.0.0.1 /TIME:30 * $text_string
}

Jetzt kommt der interessante Teil. wie bekomme ich das Script in den Hintergrund?
Lösung: Man nehme ein wscript.

Das Script sieht auch relativ einfach aus:

var wshShell = new ActiveXObject("WScript.Shell");  
wshShell.Run('%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy Bypass -File "C:\\PS_Projekte\\MeinScript.ps1"', 0, false);  

DAS WARS!

Jetzt noch ab in die Aufgabenplanung und schick ist es:
aufg_pl_1

aufg_pl_2

Content-Key: 5930363260

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

Printed on: June 13, 2024 at 18:06 o'clock