PsExec Lance des Messages d'Erreur, mais fonctionne sans aucun problème
Nous sommes donc utiliser PsExec beaucoup dans nos automatismes pour installer des machines virtuelles, comme nous ne pouvons pas utiliser le ps des sessions à distance avec nos ordinateurs windows 2003. Tout fonctionne très bien et il n'y a pas de Problèmes, mais PsExec garde jetant des erreurs, même chaque commande est réalisée sans correctement.
Par exemple:
D:\tools\pstools\psexec.exe $guestIP -u $global:default_user -p $global:default_pwd -d -i C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "Enable-PSRemoting -Force"
Permet à l'PsRemoting sur l'invité, mais jette également ce message d'erreur:
psexec.exe :
Bei D:\Scripts\VMware\VMware_Module5.ps1:489 Zeichen:29
+ D:\tools\pstools\psexec.exe <<<< $guestIP -u $global:default_user -p $global:default_pwd -d -i C:\Windows\System32\WindowsPowerShell\
v1.0\powershell.exe -command "Enable-PSRemoting -Force"
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
Connecting to 172.17.23.95...Starting PsExec service on 172.17.23.95...Connecting with PsExec service on 172.17.23.95...Starting C:\Windows\
System32\WindowsPowerShell\v1.0\powershell.exe on 172.17.23.95...
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe started on 172.17.23.95 with process ID 2600.
Ces types de messages d'erreur apparaissent TOUJOURS, peu importe comment je utiliser psexec, comme les citations, avec vriables/valeurs fixes, d'autres drapeaux, etc. Quelqu'un a une idée de comment je pourrais résoudre ce problème? Il n'est pas un réel problème, mais il permet de rechercher les erreurs d'une douleur dans le cul, parce que les "erreurs" sont partout. Désactiver les messages d'erreur de psexec à tous les aiderait aussi...
$ErrorActionPreference = "SilentlyContinue"
avant la psexec de commande. Mais ce n'est pas une vraie solution.Eh bien, pas la meilleure idée, mais bien mieux que ma "solution". Je suppose, je vais écrire un psexec-le silence de la fonction, le réglage de la ErrorActionPreference sur et hors tension avant de le psexec de commande. Au moins, je peux éteindre le message d'erreur, qui de toute évidence n'en est pas une.
Cochez cette; stackoverflow.com/a/2095623/469777
OriginalL'auteur Simons0n | 2013-08-22
Vous devez vous connecter pour publier un commentaire.
C'est parce que PowerShell, parfois les rapports d'un NativeCommandError lorsqu'un processus écrit STDERR. PsExec écrit l'infoline
vers STDERR qui signifie qu'il peut être en cause.
Pour plus d'informations, consultez les questions /réponses:
OriginalL'auteur TessellatingHeckler
rediriger stderr null fonctionne le mieux pour moi. voir lien ci-dessous
Erreur lors de l'appel de la 3e partie exécutable à partir de Powershell lors de l'utilisation d'un IDE
Voici la section pertinente à partir de ce lien:
Pour éviter cela, vous pouvez rediriger stderr à null par exemple:
du 2> $null
Essentiellement la console de l'hôte et de l'ISE (ainsi que de l'accès distant) traiter le flux stderr différemment. Sur la console de l'hôte qu'il était important pour PowerShell pour les applications de soutien, comme edit.com travailler de concert avec d'autres applications d'écriture de couleur de sortie et les erreurs à l'écran. Si le flux d'e/S n'est pas redirigé sur la console de l'hôte, PowerShell donne le natif de EXE une console poignée d'écrire directement. Cela contourne PowerShell afin de PowerShell ne peut pas voir qu'il y a des erreurs de sorte qu'il ne peut pas rendre compte de l'erreur via $erreur ou par écrit à PowerShell du flux stderr.
ISE et de l'accès distant n'avez pas besoin à l'appui de ce scénario, de sorte qu'ils font voir les erreurs sur stderr et ensuite écrire l'erreur et de la mise à jour $erreur.
.\PsExec.exe \$hostname -u $script:nom d'utilisateur -p $script:mot de passe /accepteula -h cmd /c $powerShellArgs 2> $null
Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse et de fournir le lien de référence. Lien-ne répond peut devenir non valide si la page liée changements.
Il fixe. Ajout de la section pertinente de lien hypertexte.
OriginalL'auteur Gopi Palamalai
J'ai créé un psexec wrapper pour powershell, qui peut être utile aux personnes naviguant sur cette question:
OriginalL'auteur user2426679