Register-ScheduledJob
Erstellt einen geplanten Auftrag.
Syntax
Register-ScheduledJob
[-ScriptBlock] <ScriptBlock>
[-Name] <String>
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-ArgumentList <Object[]>]
[-MaxResultCount <Int32>]
[-RunNow]
[-RunEvery <TimeSpan>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Register-ScheduledJob
[-FilePath] <String>
[-Name] <String>
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-ArgumentList <Object[]>]
[-MaxResultCount <Int32>]
[-RunNow]
[-RunEvery <TimeSpan>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Register-ScheduledJob
Cmdlet erstellt geplante Aufträge auf dem lokalen Computer.
Ein geplanter Auftrag ist ein Windows PowerShell-Hintergrundauftrag, der automatisch in einem einmaligen oder wiederkehrenden Zeitplan gestartet werden kann. Geplante Aufträge werden auf dem Datenträger gespeichert und im Taskplaner registriert. Die Aufträge können im Taskplaner oder mithilfe der Cmdlets "Geplanter Auftrag" in Windows PowerShell verwaltet werden.
Wenn ein geplanter Auftrag gestartet wird, wird eine Instanz des geplanten Auftrags erstellt. Instanzen geplanter Aufträge sind mit Windows PowerShell-Hintergrundaufträgen identisch, mit der Ausnahme, dass die Ergebnisse auf dem Datenträger gespeichert werden. Verwenden Sie die Cmdlets "Auftrag", z Start-Job
. B. ", Get-Job
", Receive-Job
", und um die Ergebnisse der Auftragsinstanzen zu starten, anzuzeigen und abzurufen.
Dient Register-ScheduledJob
zum Erstellen eines neuen geplanten Auftrags. Verwenden Sie den ScriptBlock-Parameter , um die Befehle anzugeben, die der geplante Auftrag ausführt. Verwenden Sie den FilePath-Parameter , um ein Skript anzugeben, das vom Auftrag ausgeführt wird.
Windows PowerShell-geplante Aufträge verwenden dieselben Auftragsauslöser und Auftragsoptionen, die der Taskplaner für geplante Vorgänge verwendet.
Der Trigger-Parameter von Register-ScheduledJob
fügt einen oder mehrere Auftragstrigger hinzu, die den Auftrag starten. Der Trigger-Parameter ist optional, sodass Sie Trigger hinzufügen können, wenn Sie den geplanten Auftrag erstellen, später Auftragstrigger hinzufügen, den RunNow-Parameter hinzufügen, um den Auftrag sofort zu starten, das Start-Job
Cmdlet verwenden, um den Auftrag sofort zu starten oder den ungetriggerten geplanten Auftrag als Vorlage für andere Aufträge zu speichern.
Mit dem Parameter "Options " können Sie die Optionseinstellungen für den geplanten Auftrag anpassen. Der Parameter "Options" ist optional, sodass Sie Auftragsoptionen festlegen können, wenn Sie den geplanten Auftrag erstellen oder sie jederzeit ändern. Da Optionseinstellungen für Aufträge die Ausführung des geplanten Auftrags verhindern können, sollten Sie die Auftragsoptionen überprüfen und mit Vorsicht festlegen.
Register-ScheduledJob
ist eine Sammlung von Auftragsplanungs-Cmdlets im PSScheduledJob-Modul , das in Windows PowerShell enthalten ist.
Weitere Informationen zu geplanten Aufträgen finden Sie in den Artikeln im PSScheduledJob-Modul .
Importieren Sie das PSScheduledJob-Modul , und geben Sie dann Folgendes ein: Get-Help about_Scheduled*
oder lesen Sie about_Scheduled_Jobs.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Beispiele
Beispiel 1: Erstellen eines geplanten Auftrags
In diesem Beispiel wird ein geplanter Auftrag auf dem lokalen Computer erstellt.
Register-ScheduledJob -Name "Archive-Scripts" -ScriptBlock {
Get-ChildItem $HOME\*.ps1 -Recurse |
Copy-Item -Destination "\\Server\Share\PSScriptArchive"
}
Register-ScheduledJob
verwendet den Parameter Name , um den Archive-Scripts
geplanten Auftrag zu erstellen.
Der ScriptBlock-Parameter wird ausgeführt Get-ChildItem
, der das $HOME
Verzeichnis rekursiv nach .ps1
Dateien durchsucht. Das Copy-Item
Cmdlet kopiert die Dateien in ein Verzeichnis, das vom Parameter Destination angegeben wird.
Da der geplante Auftrag keinen Trigger enthält, wird er nicht automatisch gestartet. Sie können Auftragstrigger mit Add-JobTrigger
hinzufügen, das Start-Job
Cmdlet verwenden, um den Auftrag bei Bedarf zu starten, oder den geplanten Auftrag als Vorlage für andere geplante Aufträge verwenden.
Beispiel 2: Erstellen eines geplanten Auftrags mit Triggern und benutzerdefinierten Optionen
Dieses Beispiel zeigt, wie Sie einen geplanten Auftrag erstellen, der einen Auftragstrigger und benutzerdefinierte Auftragsoptionen aufweist.
$O = New-ScheduledJobOption -WakeToRun -StartIfIdle -MultipleInstancePolicy Queue
$T = New-JobTrigger -Weekly -At "9:00 PM" -DaysOfWeek Monday -WeeksInterval 2
$path = "\\Srv01\Scripts\UpdateVersion.ps1"
Register-ScheduledJob -Name "UpdateVersion" -FilePath $path -ScheduledJobOption $O -Trigger $T
Die $O
Variable speichert das Auftragsoptionsobjekt, das vom New-ScheduledJobOption
Cmdlet erstellt wurde. Die Optionen starten den geplanten Auftrag, auch wenn der Computer nicht im Leerlauf ist, aktiviert den Computer, um den Auftrag auszuführen, falls erforderlich, und ermöglicht mehreren Instanzen des Auftrags die Ausführung in einer Reihe.
Die $T
Variable speichert das Ergebnis des New-JobTrigger
Cmdlets zum Erstellen eines Auftragstriggers, der jeden anderen Montag um 9:00 Uhr einen Auftrag startet.
Die $path
Variable speichert den Pfad zur UpdateVersion.ps1
Skriptdatei.
Register-ScheduledJob
verwendet den Parameter Name , um den geplanten UpdateVersion-Auftrag zu erstellen.
Der FilePath-Parameter verwendet $path
, um das Skript anzugeben, das der Auftrag ausführt. Der Parameter ScheduledJobOption verwendet die auftragsoptionen, die in $O
. Der Trigger-Parameter verwendet die auftragsauslöser, die in $T
.
Beispiel 3: Verwenden von Hashtabellen zum Angeben von Trigger- und geplanten Auftragsoptionen
Dieses Beispiel hat die gleiche Wirkung wie der Befehl in Beispiel 2. Er erstellt einen geplanten Auftrag mithilfe von Hashtabellen, um die Werte der Parameter Trigger und ScheduledJobOption anzugeben. Die $O
in Beispiel 2 definierten Variablen $T
werden durch Hashtabellen ersetzt.
$T = @{
Frequency="Weekly"
At="9:00PM"
DaysOfWeek="Monday"
Interval=2
}
$O = @{
WakeToRun=$true
StartIfNotIdle=$false
MultipleInstancePolicy="Queue"
}
Register-ScheduledJob -Trigger $T -ScheduledJobOption $O -Name UpdateVersion -FilePath "\\Srv01\Scripts\Update-Version.ps1"
Beispiel 4: Erstellen von geplanten Aufträgen auf Remotecomputern
In diesem Beispiel wird der geplante EnergyData-Auftrag auf mehreren Remotecomputern erstellt. Der geplante Auftrag führt ein Skript aus, das Rohdaten sammelt und in einem laufenden Protokoll auf dem Remotecomputer speichert.
$Cred = Get-Credential
$O = New-ScheduledJobOption -WakeToRun -StartIfIdle -MultipleInstancePolicy Queue
$T = New-JobTrigger -Weekly -At "9:00 PM" -DaysOfWeek Monday -WeeksInterval 2
Invoke-Command -ComputerName (Get-Content Servers.txt) -Credential $Cred -ScriptBlock {
$params = @{
Name = "Get-EnergyData"
FilePath = "\\Srv01\Scripts\Get-EnergyData.ps1"
ScheduledJobOption = $using:O
Trigger = $using:T
}
Register-ScheduledJob @params
}
Die $Cred
Variable speichert Anmeldeinformationen in einem PSCredential-Objekt für einen Benutzer mit Berechtigungen zum Erstellen von geplanten Aufträgen. Die $O
Variable speichert die mit New-ScheduledJobOption
. Die $T
Variable speichert die mit New-JobTrigger
.
Das Invoke-Command
Cmdlet verwendet den Parameter ComputerName , um eine Liste der Servernamen aus der Servers.txt
Datei abzurufen. Der Parameter "Credential" ruft das anmeldeinformationsobjekt ab, das in $Cred
.
Der ScriptBlock-Parameter führt einen Register-ScheduledJob
Befehl auf den Computern in der Servers.txt
Datei aus.
Die Parameter für Register-ScheduledJob
diese werden durch $params
definiert. Die Parameter Name geben an, dass der Auftrag auf jedem Remotecomputer benannt Get-EnergyData
wird. FilePath stellt den Speicherort des EnergyData.ps1
Skripts bereit. Das Skript befindet sich auf einem Dateiserver, der für alle teilnehmenden Computer verfügbar ist. Der Auftrag wird auf dem durch den Auftrag ausgelösten $T
Zeitplan und den Auftragsoptionen in $O
.
Der Register-ScheduledJob @params
Befehl erstellt den geplanten Auftrag mit den Parametern aus dem Skriptblock.
Beispiel 5: Erstellen eines geplanten Auftrags, der ein Skript auf Remotecomputern ausführt
In diesem Beispiel wird der geplante Auftrag "Collect EnergyData " auf dem lokalen Computer erstellt. Der Auftrag wird auf mehreren Remotecomputern ausgeführt.
$Admin = Get-Credential
$T = New-JobTrigger -Weekly -At "9:00 PM" -DaysOfWeek Monday -WeeksInterval 2
Register-ScheduledJob -Name "CollectEnergyData" -Trigger $T -MaxResultCount 99 -ScriptBlock {
$params = @{
AsJob = $true
ComputerName = (Get-Content Servers.txt)
FilePath = '\\Srv01\Scripts\Get-EnergyData.ps1'
Credential = $using:Admin
Authentication = 'CredSSP'
}
Invoke-Command @params
}
Die $Admin
Variable speichert Anmeldeinformationen für einen Benutzer mit Berechtigungen zum Ausführen der Befehle in einem PSCredential-Objekt . Die $T
Variable speichert die mit New-JobTrigger
.
Das Register-ScheduledJob
Cmdlet verwendet den Parameter Name , um den geplanten Auftrag "Collect EnergyData " auf dem lokalen Computer zu erstellen. Der Trigger-Parameter gibt die Auftragstrigger an $T
, und der MaxResultCount-Parameter erhöht die Anzahl der gespeicherten Ergebnisse auf 99.
Der ScriptBlock-Parameter definiert die Invoke-Command
Parameter mit $params
. Der Parameter AsJob erstellt das Hintergrundauftragsobjekt auf dem lokalen Computer, obwohl das Energydata.ps1
Skript auf den Remotecomputern ausgeführt wird. Der Parameter ComputerName ruft eine Liste der Servernamen aus der Servers.txt
Datei ab. Der Parameter "Credential " gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen von Skripts auf den Remotecomputern verfügt. Und der Parameter "Authentication " gibt einen Wert von CredSSP an, um delegierte Anmeldeinformationen zuzulassen.
Der Invoke-Command @params
Befehl wird mit den Parametern aus dem Skriptblock ausgeführt.
Parameter
-ArgumentList
Gibt Werte für die Parameter des Skripts an, das vom FilePath-Parameter oder für den Befehl angegeben wird, der durch den ScriptBlock-Parameter angegeben wird.
Typ: | Object[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Authentication
Gibt den Mechanismus an, der zum Authentifizieren der Anmeldeinformationen des Benutzers verwendet wird. Der Standardwert lautet Default.
Zulässige Werte für diesen Parameter:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism.
Achtung
Die Authentifizierung des Credential Security Service Provider (CredSSP), bei der die Anmeldeinformationen des Benutzers an einen Remotecomputer übergeben werden, der authentifiziert werden soll, wurde für Befehle entwickelt, die eine Authentifizierung für mehrere Ressourcen erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn die Sicherheit des Remotecomputers gefährdet ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
Typ: | AuthenticationMechanism |
Zulässige Werte: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt ein Benutzerkonto mit der Berechtigung zum Ausführen des geplanten Auftrags an. Der Standardwert ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential-Objekt ein, z. B. eins aus dem Get-Credential
Cmdlet. Wenn Sie nur einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.
Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString gespeichert.
Hinweis
Weitere Informationen zum Schutz von SecureString finden Sie unter "Wie sicher ist SecureString?".
Typ: | PSCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-FilePath
Gibt ein Skript an, das vom geplanten Auftrag ausgeführt wird. Geben Sie den Pfad zu einer .ps1
Datei auf dem lokalen Computer ein. Verwenden Sie den ArgumentList-Parameter , um Standardwerte für die Skriptparameter anzugeben.
Jeder Register-ScheduledJob
Befehl muss entweder die Parameter ScriptBlock oder FilePath verwenden.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InitializationScript
Gibt den vollqualifizierten Pfad zu einem Windows PowerShell-Skript (.ps1
) an. Das Initialisierungsskript wird in der Sitzung ausgeführt, die für den Hintergrundauftrag erstellt wird, bevor die Befehle, die durch den ScriptBlock-Parameter oder das Skript angegeben werden, das vom FilePath-Parameter angegeben wird. Sie können das Initialisierungsskript zum Konfigurieren der Sitzung verwenden, z. B. zum Hinzufügen von Dateien, Funktionen oder Aliasen, Erstellen von Verzeichnissen oder Überprüfen der Voraussetzungen.
Verwenden Sie den FilePath-Parameter , um ein Skript anzugeben, das die primären Auftragsbefehle ausführt.
Wenn das Initialisierungsskript einen Fehler generiert, auch ein nicht beendeter Fehler, wird die aktuelle Instanz des geplanten Auftrags nicht ausgeführt, und der Status ist fehlgeschlagen.
Typ: | ScriptBlock |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-MaxResultCount
Gibt an, wie viele Auftragsergebniseinträge für den geplanten Auftrag verwaltet werden. Der Standardwert ist 32.
Windows PowerShell speichert den Ausführungsverlauf und die Ergebnisse der einzelnen ausgelösten Instanzen des geplanten Auftrags auf dem Datenträger. Der Wert dieses Parameters bestimmt die Anzahl der Ergebnisse der Auftragsinstanz, die für diesen geplanten Auftrag gespeichert wird. Wenn die Anzahl der Ergebnisse der Auftragsinstanz diesen Wert überschreitet, löscht Windows PowerShell die Ergebnisse der ältesten Auftragsinstanz, um Platz für die Ergebnisse der neuesten Auftragsinstanz zu schaffen.
Der Auftragsausführungsverlauf und die Auftragsergebnisse werden im $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
Verzeichnisse auf dem Computer, auf dem der Auftrag erstellt wird. Verwenden Sie das Get-Job
Cmdlet, um den Ausführungsverlauf anzuzeigen. Verwenden Sie das Receive-Job
Cmdlet, um die Auftragsergebnisse abzurufen.
Der Parameter MaxResultCount legt den Wert der ExecutionHistoryLength-Eigenschaft des geplanten Auftrags fest.
Um den aktuellen Ausführungsverlauf und die Auftragsergebnisse zu löschen, verwenden Sie den ClearExecutionHistory-Parameter des Set-ScheduledJob
Cmdlets.
Typ: | Int32 |
Position: | Named |
Standardwert: | 32 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Name
Gibt einen Namen für den geplanten Auftrag an. Der Name wird auch für alle gestarteten Instanzen des geplanten Auftrags verwendet. Der Name muss auf dem Computer eindeutig sein. Dieser Parameter ist erforderlich.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RunAs32
Führt den geplanten Auftrag in einem 32-Bit-Prozess aus.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RunEvery
Wird verwendet, um anzugeben, wie oft der Auftrag ausgeführt werden soll. Verwenden Sie beispielsweise diese Option, um einen Auftrag alle 15 Minuten auszuführen.
Typ: | TimeSpan |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RunNow
Startet sofort einen Auftrag, sobald das Register-ScheduledJob
Cmdlet ausgeführt wird. Dieser Parameter beseitigt die Notwendigkeit, task scheduler auszulösen, um ein Windows PowerShell-Skript unmittelbar nach der Registrierung auszuführen, und erfordert nicht, dass Benutzer einen Trigger erstellen, der ein Startdatum und eine Startzeit angibt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ScheduledJobOption
Legt Optionen für den geplanten Auftrag fest. Geben Sie ein ScheduledJobOptions-Objekt ein, z. B. ein Objekt, das Sie mithilfe des New-ScheduledJobOption
Cmdlets erstellen, oder einen Hashtabellenwert.
Sie können Optionen für einen geplanten Auftrag festlegen, wenn Sie den Zeitplanauftrag registrieren oder die Set-ScheduledJobOption
Optionen Set-ScheduledJob
oder Cmdlets verwenden, um die Optionen zu ändern.
Viele Optionen und ihre Standardwerte bestimmen, ob und wann ein geplanter Auftrag ausgeführt wird. Achten Sie darauf, diese Optionen zu überprüfen, bevor Sie einen Auftrag planen. Eine Beschreibung der geplanten Auftragsoptionen, einschließlich der Standardwerte, finden Sie unter New-ScheduledJobOption
.
Um eine Hashtabelle zu übermitteln, verwenden Sie die folgenden Schlüssel. Die Schlüssel werden in der folgenden Hashtabelle mit ihren Standardwerten angezeigt.
@{StartIfOnBattery=$False; StopIfGoingOnBattery=$True; WakeToRun=$False; StartIfNotIdle=$False; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$True; RestartOnIdleResume=$False; ShowInTaskScheduler=$True; RunElevated=$False; RunWithoutNetwork=$False; DoNotAllowDemandStart=$False; MultipleInstancePolicy="IgnoreNew"}
Typ: | ScheduledJobOptions |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ScriptBlock
Gibt die Befehle an, die vom geplanten Auftrag ausgeführt werden. Schließen Sie die Befehle in geschweifte Klammern ({}
) ein, um einen Skriptblock zu erstellen. Verwenden Sie den ArgumentList-Parameter , um Standardwerte für Befehlsparameter anzugeben.
Jeder Register-ScheduledJob
Befehl muss entweder die Parameter ScriptBlock oder FilePath verwenden.
Typ: | ScriptBlock |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Trigger
Gibt die Trigger für den geplanten Auftrag an. Geben Sie mindestens ein ScheduledJobTrigger-Objekt ein, z. B. die vom Cmdlet zurückgegebenen Objekte New-JobTrigger
oder eine Hashtabelle mit Auftragstriggerschlüsseln und -werten.
Ein Auftragstrigger startet den Zeitplanauftrag. Der Trigger kann einen einmaligen oder Wiederholungszeitplan oder ein Ereignis angeben, z. B. die Anmeldung eines Benutzers oder den Start von Windows.
Der Trigger-Parameter ist optional. Sie können einen Trigger hinzufügen, wenn Sie den geplanten Auftrag erstellen, die Add-JobTrigger
Auslöser Set-JobTrigger
oder Set-ScheduledJob
Cmdlets später hinzufügen oder ändern oder das Start-Job
Cmdlet verwenden, um den geplanten Auftrag sofort zu starten. Sie können auch einen geplanten Auftrag ohne Trigger erstellen und verwalten, der als Vorlage verwendet wird.
Verwenden Sie die folgenden Schlüssel, um eine Hashtabelle zu übermitteln:
- Häufigkeit: Täglich, Wöchentlich, AtStartup, AtLogon
- At: Any valid time string
- DaysOfWeek - Beliebige Kombination von Tagnamen
- Intervall – Beliebige gültige Häufigkeitsintervalle
- RandomDelay: Beliebige gültige Zeitbereichszeichenfolge
- Benutzer: Jeder gültige Benutzer. Wird nur mit dem AtLogon-Häufigkeitswert verwendet
Zum Beispiel:
@{Frequency="Once"; At="3am"; DaysOfWeek="Monday", "Wednesday"; Interval=2; RandomDelay="30minutes"; User="Domain1\User01"}
Typ: | ScheduledJobTrigger[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Dieses Cmdlet gibt ein ScheduledJobDefinition -Objekt zurück, das den registrierten Auftrag darstellt.
Hinweise
Jeder geplante Auftrag wird in einem Unterverzeichnis des $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
Verzeichnisses auf dem lokalen Computer gespeichert.
Das Unterverzeichnis wird für den geplanten Auftrag benannt und enthält eine XML-Datei für den geplanten Auftrag sowie Einträge zu dessen Ausführungsverlauf. Weitere Informationen zu geplanten Aufträgen auf dem Datenträger finden Sie unter about_Scheduled_Jobs_Advanced.
Geplante Aufträge, die Sie in Windows PowerShell erstellen, werden im Aufgabenplaner im Ordner "Taskplaner Library\Microsoft\Windows\PowerShell\ScheduledJobs
" angezeigt. Sie können den Taskplaner zum Anzeigen und Bearbeiten des geplanten Auftrags verwenden.
Sie können den Task Scheduler, das schtasks.exe
Befehlszeilentool und die Cmdlets "Task Scheduler" verwenden, um geplante Aufträge zu verwalten, die Sie mit den Cmdlets "Geplanter Auftrag" erstellen. Sie können jedoch die Cmdlets "Geplanter Auftrag" nicht verwenden, um Aufgaben zu verwalten, die Sie in Task Scheduler erstellen.
Wenn ein Befehl für einen geplanten Auftrag einen Fehler verursacht, gibt Windows PowerShell eine Fehlermeldung zurück. Wenn der Auftrag jedoch fehlschlägt, wenn der Taskplaner versucht, ihn auszuführen, ist der Fehler für Windows PowerShell nicht verfügbar.
Wenn ein geplanter Auftrag nicht ausgeführt wird, verwenden Sie die folgenden Methoden, um den Grund zu finden:
- Stellen Sie sicher, dass der Auftragstrigger ordnungsgemäß festgelegt ist.
- Stellen Sie sicher, dass die in den Auftragsoptionen festgelegten Bedingungen erfüllt sind.
- Stellen Sie sicher, dass das Benutzerkonto, unter dem der Auftrag ausgeführt wird, über die Berechtigung zum Ausführen der Befehle oder Skripts im Auftrag verfügt.
- Überprüfen Sie den Vorgangsplanerverlauf auf Fehler.
- Überprüfen Sie das Ereignisprotokoll für den Taskplaner auf Fehler.
Weitere Informationen finden Sie unter about_Scheduled_Jobs_Troubleshooting.
Ähnliche Themen
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob