Używamy PsExec w naszych automatach do instalowania maszyn wirtualnych, ponieważ nie możemy używać psowych sesji zdalnych z naszymi maszynami z systemem Windows 2003. Wszystko działa wspaniale i nie ma problemów, ale PsExec ciągle popełnia błędy podczas rzucania, nawet jeśli wszystkie polecenia są wykonywane bez poprawnego działania. Na przykład:PsExec zgłasza komunikaty o błędach, ale działa bez żadnych problemów.
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"
Umożliwia PsRemoting na gościa, ale także generuje komunikat o błędzie:
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.
Tego rodzaju komunikaty o błędach wyświetlane, zawsze bez względu na to w jaki sposób mogę korzystać psexec, jak z cytatami, z vriables/ustalonymi wartościami, innymi flagami itp. Czy ktoś ma pomysł jak to naprawić? To nie jest prawdziwy problem, ale sprawia, że znalezienie błędów to ból w dupie, ponieważ "błędy" są wszędzie. Wyłączenie komunikatów o błędach psexec w ogóle również pomogłoby ...
mam ten sam problem, a ja używać '$ ErrorActionPreference = "SilentlyContinue"' przed poleceniem PsExec. Ale to nie jest prawdziwe rozwiązanie. – plunkets
Cóż, nie jest to najlepszy pomysł, ale o wiele lepszy niż moje "rozwiązanie". Przypuszczam, że napiszę funkcję cichą psexec, włączając i wyłączając ErrorActionPreference przed komendą psexec. Przynajmniej mogę wyłączyć komunikat o błędzie, który wyraźnie nie jest. – Simons0n
Sprawdź to; http://stackoverflow.com/a/2095623/469777 –