Domanda

Ho un lavoro SQL 2008 che esegue backup di database utilizzando uno script PowerShell. Ogni passaggio nel lavoro SQL è il tipo "Sistema operativo (CMDEXEC)". Ogni passaggio dà il via a uno script PowerShell che esegue il backup SQL e altre cose. Lo script vive su un server remoto, in modo che se dobbiamo apportare modifiche, dobbiamo farle solo una volta.

Se imposto la politica di esecuzione di PowerShell su "Bypass", il lavoro SQL funziona. Ma se lo imposta su "Firmato remoto", non riesce a dire che la politica di esecuzione non è impostata correttamente. Tuttavia, se dico lo script dalla finestra CMD, funziona correttamente. Il server è a 64 bit, quindi mi sono assicurato che sia le shell da 32 bit che a 64 bit abbiano il loro criterio di esecuzione impostato su "remotefizzato". E ho il percorso UNC del server remoto impostato come sito Intranet affidabile in IE (ho scoperto che PowerShell tratta percorsi UNC locali come i percorsi HTTP, a meno che non sia impostato in IE).

Come ho detto, funziona correttamente a calci manualmente se fuori dalla finestra CMD con la politica di esecuzione impostata su Remote firmata e funziona se il lavoro SQL si calci se si spegne se la politica di esecuzione è impostata su Bypass. Non riesce solo se viene dato il via da SQL e la politica di esecuzione è impostata su remote.

È stato in esecuzione per un anno senza problemi con la politica di esecuzione di PowerShell impostata per il bypass, ma mi viene detto di impostare la politica di esecuzione su Remotesignar ora. Mantenerlo al bypass non è più un'opzione.

qualche idea?

È stato utile?

Soluzione

Sembra che le credenziali in base alle quali il lavoro viene eseguito sia diverso dalle credenziali di accesso.

Potrebbe essere necessario modificare le autorizzazioni per l'utente del lavoro agente per consentire l'esecuzione dello script PowerShell come previsto.

Altri suggerimenti

Per far giocare alcune applicazioni legacy con PowerShell, mi ritrovo a scrivere piccole script "bootstrap". powershell.exe C:\Scripts\MyScript.ps1

Non è una soluzione creativa, elegante o "risolvi la soluzione del problema", ma se funziona da CMD, potresti provare questo solo per farlo funzionare al più presto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top