Condividi tramite


Disable-ScheduledJob

Disabilita un processo pianificato.

Sintassi

Disable-ScheduledJob
       [-InputObject] <ScheduledJobDefinition>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Disable-ScheduledJob
       [-Id] <Int32>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Disable-ScheduledJob
       [-Name] <String>
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Descrizione

Il cmdlet Disable-ScheduledJob disabilita temporaneamente i processi pianificati. La disabilitazione mantiene tutte le proprietà del processo e non ne disabilita i trigger, ma evita che i processi pianificati vengano avviati automaticamente all'attivazione. È possibile avviare un processo pianificato disabilitato usando il cmdlet Start-Job o usare un processo pianificato disabilitato come modello.

Per disabilitare un processo pianificato, il cmdlet Disable-ScheduledJob imposta la proprietà Enabled del processo pianificato su False ($false). Per riabilitare il processo pianificato, usare il cmdlet Enable-ScheduledJob.

Disable-ScheduledJob è una raccolta di cmdlet di pianificazione dei processi nel modulo PSScheduledJob incluso in Windows PowerShell.

Per altre informazioni sui lavori pianificati, vedere gli argomenti Informazioni nel modulo PSScheduledJob. Importare il modulo PSScheduledJob e quindi digitare: Get-Help about_Scheduled* o vedere about_Scheduled_Jobs.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Disabilitare un processo pianificato

PS C:\> Disable-ScheduledJob -ID 2 -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    False

Questo comando disabilita il processo pianificato con ID 2 nel computer locale. L'output mostra l'effetto del comando.

Esempio 2: Disabilitare tutti i processi pianificati

PS C:\> Get-ScheduledJob | Disable-ScheduledJob -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
1          ArchiveProje... {}              C:\Scripts\Archive-DxProjects.ps1        False
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    False
4          Test-HelpFiles  {1}             .\Test-HelpFiles.ps1                     False
5          TestJob         {1, 2}          .\Run-AllTests.ps1                       False

Questo comando disabilita tutti i processi pianificati nel computer locale. Usa il cmdlet Get-ScheduledJob per ottenere tutti i processi pianificati e il cmdlet Disable-ScheduledJob per disabilitarli.

È possibile riabilitare il processo pianificato usando il cmdlet Enable-ScheduledJob ed eseguire un processo pianificato disabilitato usando il cmdlet Start-Job.

Disable-ScheduledJob non genera avvisi o errori se si disabilita un processo pianificato già disabilitato, quindi è possibile disabilitare tutti i processi pianificati senza condizioni.

Esempio 3: Disabilitare i processi pianificati selezionati

PS C:\> Get-ScheduledJob | Where-Object {!$_.Credential} | Disable-ScheduledJob

Questo comando disabilita un processo pianificato che non include credenziali. I processi senza credenziali vengono eseguiti con l'autorizzazione dell'utente che li ha creati.

Il comando usa il cmdlet Get-ScheduledJob per ottenere tutti i processi pianificati nel computer. Un operatore della pipeline invia i processi pianificati al cmdlet Where-Object, che seleziona i processi pianificati che non dispongono delle credenziali. Il comando usa l'operatore not (!) e fa riferimento alla proprietà Credential del processo pianificato. Un altro operatore pipeline invia i processi pianificati selezionati al cmdlet Disable-ScheduledJob che li disabilita.

Esempio 4: Disabilitare i processi pianificati in un computer remoto

PS C:\> Invoke-Command -ComputerName Srv01, Srv10 -ScriptBlock {Disable-ScheduledJob -Name TestJob}

Questo comando disabilita il processo pianificato TestJob in due computer remoti, Srv01 e Srv10.

Il comando usa il cmdlet Invoke-Command per eseguire un comando Disable-ScheduledJob nei computer Srv01 e Srv10. Il comando usa il parametro Name di Disable-ScheduledJob per selezionare il processo pianificato TestJob in ogni computer.

Esempio 5: Disabilitare un processo pianificato in base all'ID globale

The first command demonstrates one way of finding the GlobalID of a scheduled job. The command uses the Get-ScheduledJob cmdlet to get the scheduled jobs on the computer. A pipeline operator (|) sends the scheduled jobs to the Format-Table cmdlet, which displays the Name, GlobalID, and Command properties of each job in a table.
PS C:\> Get-ScheduledJob | Format-Table -Property Name, GlobalID, Command -Autosize
Name             GlobalId                             Command
----             --------                             -------
ArchiveProjects1 a26a0b3d-b4e6-44d3-8b95-8706ef621f7c C:\Scripts\Archive-DxProjects.ps1
Inventory        3ac37e5d-84c0-4a8f-9661-7e88ebb8f914 \\Srv01\Scripts\Get-FullInventory.ps1
Backup-Scripts   4d0cc6be-c082-48d1-baec-1bd8278f3c81  Copy-Item C:\CurrentScripts\*.ps1 -Destination C:\BackupScripts
Test-HelpFiles   d77020ca-f20d-42be-86c8-fc64df97db90 .\Test-HelpFiles.ps1
Test-HelpFiles   2f1606d2-c6cf-4bef-8b1c-ae36a9cc9934 .\Test-DomainHelpFiles.ps1

The second command uses the  Get-ScheduledJob cmdlet to get the scheduled jobs on the computer. A pipeline operator (|) sends the scheduled jobs to the Where-Object cmdlet, which selects the scheduled job with the specified global ID. Another pipeline operator sends the job to the **Disable-ScheduledJob** cmdlet, which disables it.
PS C:\> Get-ScheduledJob | Where-Object {$_.GlobalID = d77020ca-f20d-42be-86c8-fc64df97db90} | Disable-ScheduledJob

Questo esempio mostra come disabilitare un processo pianificato usando l'identificatore globale. Il valore della proprietà GlobalID di un processo pianificato è un identificatore univoco (GUID). Usare il valore GlobalID quando è necessaria una maggiore precisione, ad esempio quando si disabilitano i processi pianificati in più computer.

Parametri

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Disabilita il processo pianificato con il numero di identificazione (ID) specificato. Immettere l'ID di un processo pianificato.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Specifica il processo pianificato da disabilitare. Immettere una variabile contenente oggetti ScheduledJobDefinition o digitare un comando o un'espressione che ottiene oggetti ScheduledJobDefinition , ad esempio un comando Get-ScheduledJob. È anche possibile inviare una pipe a un oggetto ScheduledJobDefinition in Disable-ScheduledJob.

Type:ScheduledJobDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Disabilita i processi pianificati con i nomi specificati. Immettere il nome di un processo pianificato. Sono supportati caratteri jolly.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Restituisce un oggetto che rappresenta l'elemento in uso. Per impostazione predefinita, il cmdlet non genera alcun output.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

ScheduledJobDefinition

È possibile inviare tramite pipe un processo pianificato a Disable-ScheduledJob.

Output

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

Se si usa il parametro Passthru, Disable-ScheduledJob restituisce il processo pianificato disabilitato. In caso contrario, il cmdlet non genera alcun output.

Note

  • Disable-ScheduledJob non genera avvisi o errori se lo si usa per disabilitare un processo pianificato già disabilitato.