Zeitplanvariablen setzen
Zeitplanvariablen setzen
Setzt den Wert von Objekten vom Typ "Zeitplan". Der Wert kann in verschiedenen Formaten angegeben werden.
Allgemein gilt:
Set-EmdbSchedule -Schedule $MySchedule -Value <Wert>
Set-EmdbSchedule -Item <Objekt> -Value <Wert>
Für das Setzen von Werten über Set-EmdbSchedule kann für Value, neben dem DSM-Datenbankwert, auch ein Hashtable angegeben werden. Darüber hinaus werden auch Zeichenfolgen unterstützt, die in einen Hashtable "übersetzt" werden können. Generell gilt:
Set-EmdbSchedule -Item <Objekt> -Value ($MySchedule.ToHashtable())
Set-EmdbSchedule -Item <Objekt> -Value ($MySchedule.ToString())
Allgemeines Hashtable-Format:
@{ <Angabe zu Wochentag oder Monat> = @{ <Angabe zu Stunde bzw. Tag> = <Aktivierung>; …} … }
@{ week = @{ <Angabe zu Wochentag> = @{ <Angabe zu Stunde> = <Aktivierung>; …} … }; year = @{ <Angabe zu Monat> = @{ <Angabe zu Tag> = <Aktivierung>; … } … } }
Zusätzliche optionale Hashtable-Einträge: @{ language = "<Sprache>"; activationChars = "YNyn"; … }
Bezeichnungen für Wochentage und Monate können auch in einer anderen Sprache angegeben werden, Aktivierungen können mit alternativen Zeichen angegeben werden.
Hashtables können auch in "TextForm" angegeben werden:
"<Angabe zu Wochentag oder Monat>:<Angabe zu Stunde bzw. Tag>=<Aktivierung>; …"
Format |
Option |
In Hashtable |
Textform |
<Angabe zu Wochentag> |
Einzelner Wochentag in Langform (Monday) oder Kurzform (Mon, oder Mo) |
@{ Monday = … }, @{ Mon = … }, @{ "Mo" = … } (Anführungszeichen sind optional) |
"Monday: …", "Mon: …", "Mo: …" |
|
Liste von Wochentagen |
@{ ("Mon","Tue") = … }, @{ "Mon,Tue" = … } (Anführungszeichen sind erforderlich) |
"Mon, Tue: …" |
|
Bereich von Wochentagen |
@{ "Mon - Wed" = … } |
"Mon - Wed: …" |
<Angabe zu Monat> |
Einzelner Monat in Langform oder Kurzform |
@{ January = … }, @{ Jan = … } |
"January: …", "Jan: …" |
|
Liste von Monaten |
@{ ("Jan","Feb") = … }, @{ "Jan,Feb" = … } |
"Jan, Feb: …" |
|
Bereich von Monaten |
@{ "Jan - Mar" = … } |
"Jan - Mar: …" |
<Angabe zu Wochentag oder Monat> |
Angabe eines Datum/Zeit-Wertes. Wenn ein Wert nicht unterhalb von „week“ oder „year“ angegeben wird, gilt er für beides. |
@{ ([DateTime]::Now) = … } |
"2023-04-19 19:00: …" |
|
Liste von Datum/Zeit-Werten |
@{ ([DateTime]::Now, [DateTime]::Now.AddDays(2)) = … }, @{ "2023-03-05 18:00, 2023-03-06 19:00" = … } |
"2023-04-19 18:00, 2023-04-22 19:00: …" |
|
Bereich von Datum/Zeit-Werten |
@{ "2023-03-05 18:00 - 2023-03-06 19:00" = … } |
"2023-03-05 18:00 - 2023-03-06 19:00: …" |
<Angabe zu Tag>, <Angabe zu Stunde> |
Einzelner Wert |
@{ 5 = … } |
"… : 5 = …" |
|
Werteliste |
@{ (5, 7, 9) = … }, @{ "5,7,9" = … } |
"… : 5,7,9 = …" |
|
Wertebereich |
@{ (5..9) = … }, @{ "5-9" = … } |
"… : 5-9 = …" |
<Aktivierung> |
Aktiv |
@{ … = "Active" }, @{ … = "Y" } * |
"… : … = Active; …", "… : … = Y"; |
|
Inaktiv |
@{ … = "Inactive" }, @{ … = "N" } |
"… : … = Inactive; …", "… : … = N"; |
|
Aktiv, Benutzer entscheidet |
@{ … = "Active, UserDecides" }, @{ … = "y" } |
"… : … = Active, UserDecides; …", "… : … = y; …" |
|
Inaktiv, Benutzer entscheidet |
@{ … = "Inactive, UserDecides" }, @{ … = "n" } |
"… : … = Inactive, UserDecides; …", "… : … = n; …" |
Beispiele:
Hinweis: Voraussetzung für die Beispiele ist ein verbundenes PowerShell-Laufwerk. |
Im ersten Beispiel wird beim Computer "WIN10-01" das Wartungsfenster Montags und Dienstags ganztägig auf Aktiv gesetzt:
$MyComputer = Get-EmdbComputer "WIN10-01" -Recurse $Value = "Mon,Tue:0-23 = Active" Set-EmdbSchedule -Item $MyComputer -Value $Value |
Das Wartungsfenster kann auch als Hashtable angeben werden, wobei zu beachten ist, dass die Angaben zu Tag/Stunde mit "=" getrennt vom Aktivierungstyp im Wert des Hashtables stehen:
$MyComputer = Get-EmdbComputer "WIN10-01" -Recurse $Value = @{ "Jan - Mar" = "1-31=Active"} Set-EmdbSchedule -Item $MyComputer -Value $Value |