Powershell Schleife die jeden Tag um Mitternacht eine Funktion ausführt
Eins vorweg: Ich benötige diese Schleife zu Testzwecken, für unser Monitoring, da es den gewünschten Befehl zwar per geplantem Task erkennt , aber einen Wert falsch ausgibt. Der korrekte Wert, wird erst angezeigt, wenn ich das Script manuell starte.
Daher möchte ich die Powershell gern geöffnet lassen und im Script einen Timer einbauen, der dieses immer wieder jeden Tag um 00:00:00 Uhr ausführt und nicht endet.
Ich muss gestehen, ich steh da gerade mit dem Timer etwas auf dem Schlauch.
Mein Ansatzt wärer jetzt gewesen die 00:00:00 fest zu definieren un dann hinten dran .addminutes(720) zu hängen
Bekomme aber die folgende Meldung:
Method invocation failed because [System.String] does not contain a method named 'addminutes'.
Daher möchte ich die Powershell gern geöffnet lassen und im Script einen Timer einbauen, der dieses immer wieder jeden Tag um 00:00:00 Uhr ausführt und nicht endet.
Ich muss gestehen, ich steh da gerade mit dem Timer etwas auf dem Schlauch.
Mein Ansatzt wärer jetzt gewesen die 00:00:00 fest zu definieren un dann hinten dran .addminutes(720) zu hängen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$TimeStart = '00:00:00'
$TimeEnd = $TimeStart.addminutes(720)
Write-Host "Start Time: $TimeStart"
write-host "End Time: $TimeEnd"
Do {
$TimeNow = Get-Date
if ($TimeNow -ge $TimeEnd) {
Write-host "It's time to finish."
} else {
Write-Host "Not done yet, it's only $TimeNow"
}
Start-Sleep -Seconds 10
}
Until ($TimeNow -ge $TimeEnd)
Bekomme aber die folgende Meldung:
Method invocation failed because [System.String] does not contain a method named 'addminutes'.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 544018
Url: https://administrator.de/forum/powershell-schleife-die-jeden-tag-um-mitternacht-eine-funktion-ausfuehrt-544018.html
Ausgedruckt am: 15.04.2025 um 08:04 Uhr
5 Kommentare
Neuester Kommentar
Abgesehen davon, dass ich diese Sache generell anders designen würde: die Fehlermeldung sagt aus, dass du versuchst, eine Funktion (addminutes) an einem Objekt auszuführen (String $TimeStart), was diese Funktion aber nicht kennt.
Daher musst du ein Zeit/Time Objekt verwenden, das kennt dann auch diese Funktion... Also, erst umwandeln in eine Zeit, und dann kannst du auch die minutes adden.
Kuckst du: https://devblogs.microsoft.com/scripting/adding-and-subtracting-dates-wi ...
LG
tomolpi
Daher musst du ein Zeit/Time Objekt verwenden, das kennt dann auch diese Funktion... Also, erst umwandeln in eine Zeit, und dann kannst du auch die minutes adden.
Kuckst du: https://devblogs.microsoft.com/scripting/adding-and-subtracting-dates-wi ...
LG
tomolpi