J'ai un script PowerShell qui exécute une requête SQL à partir d'un serveur Windows Server 2008 R2; Lorsque vous êtes connecté au serveur avec un compte administrateur/service de domaine, le script s'exécute et se termine à partir de PS et d'ISE de base. Si je planifie le même script en utilisant le même compte Administrateur/Service du planificateur de tâches, la requête ne renvoie aucune valeur. La tâche planifiée s'exécute comme 'Exécuter avec les privilèges les plus élevés'. PowerShell est V4.La valeur nulle de la tâche planifiée est renvoyée par sqlcmd dans PowerShell
$Result = Invoke-Sqlcmd -ServerInstance Server -Database Database -Query $Query
Où lancez le manuellement $Result
retourne toujours une valeur et encore de la Tâche $Result
planifiée est toujours nulle. Dans les deux cas, le reste du script s'exécute correctement et se termine.
interceptez votre sortie d'erreur dans un fichier et mettez à jour votre question avec l'erreur. Mes premières réflexions sont que cette session est liée à une session utilisateur, vous devrez peut-être utiliser une session authentifiée. – Colyn1337
D'après les sons, cela ne semble pas être un échec, donc je ne pense pas qu'il y ait une erreur à capturer. A moins que le '$ ErrorActionPreference' ait été défini dans ce script, ce qui serait utile à savoir. Peut-être juste ne rien retourner? Peut-être dans la façon dont '$ query' est généré .... Je ne sais pas avec certitude. – Matt
Merci pour les pensées, en règle générale lors du développement d'un script, j'ajoute une ligne Add-Content $ Location $ Variable sous toutes les actions possibles pour que je puisse suivre la logique dans un fichier texte, c'est très utile et dans ce cas pour moi courant manuellement je «vois» une sortie contre les variables en question cependant la tâche de programme renvoie un vide. –