2014-09-17 4 views
0

PsLogList를 사용하여 일부 이벤트 로그를 가져 오려고합니다. strage 무엇 여기 Powershell 및 외부 .exe (PsLogList) 오류

내가 문제가있는 부분은 ... 나는 그것을 실행 사상 두 번째 시간, 오류 메시지가 없다는 것입니다 :

$psloglist = "C:\Users\e-cedric.esch\Downloads\PSTools\PsLogList.exe" 
$log = &$psloglist $($serverr) -u $($this.elogusr) -p $($this.elogpwd) -s -x -t \t $($logname) 

오류 메시지를 내가 얻을 :

내가 할
At C:\Users\systemCESCH\Desktop\test1.ps1:line:38 char:10 
+ $log = &$ <<<< psloglist $($serverr) -u $($this.elogusr) -p $($this.elogpwd) -s -x -t \t $($logname) 

PsLoglist v2.71 - local and remote event log viewer 
Copyright (C) 2000-2009 Mark Russinovich 
Sysinternals - www.sysinternals.com 

At C:\Users\systemCESCH\Desktop\test1.ps1:line:38 char:10 
+ $log = &$ <<<< psloglist $($serverr) -u $($this.elogusr) -p $($this.elogpwd) -s -x -t \t $($logname) 

오류 메시지는 내가 디버깅 할 때 :.

Btw는
Exception calling "getELog" with "2" argument(s): "Program 'PsLogList.exe' failed to execute: The WriteObject and WriteError methods cannot be called after the pipeline has been closed. Please cont 
act Microsoft Support Services. 
At C:\Users\systemCESCH\Desktop\test1.ps1:38 char:10 
+  $log = & <<<< $psloglist $($serverr) -u $($this.elogusr) -p $($this.elogpwd) -s -x -t \t $($logname)." 
At C:\Users\systemCESCH\Desktop\test1.ps1:78 char:34 
+ write-output $ELogHandler.getELog <<<< ("PWLU0W987","Application") 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : ScriptMethodRuntimeException 

, 내가 PowerGU을 사용하고 있습니다 I 스크립트 편집기 V 3.8.0.129

+0

powershell에는 이벤트 로그를 쿼리하는 cmdlet이 내장되어 있으므로 외부 프로그램을 사용해야하는 이유가 있습니까? –

+0

어쩌면 어리석은 답변 일 수도 있지만 이전에이 도구를 이미 사용했기 때문에 모든 서버에서 작동한다는 것을 알고 있기 때문에 사용했습니다. (Btw. Get-EventLog 및 Get-WinEvent도 존재하지만 이전에는 사용하지 않았 음을 알고 있습니다.) 문제가 무엇인지 그리고 왜이 오류가 발생했는지 알아 내야 만합니다. ;) – Dobi

답변

0

를 게시 할 가치가 읽는 당신이 ISE에서 명령을 실행하는거야? 콘솔에서 테스트 해 보셨습니까? 필자는 PsTools를 사용하기 전에 ISE를 사용할 때 문제가 발생하여 powershell 콘솔에서 제대로 작동하도록했습니다.

&"C:\Temp\PSTools\PsLogList.exe" -accepteula \\somecomputer -u domain\myusername -p mypassword 

그것은 ISE에서 작동하지 않았다하지만 콘솔에서 근무 :

난 그냥이 단순화 된 버전을 테스트했다.

명령을 단순화하고 콘솔에서 테스트 해 보시기 바랍니다. (ISE를 사용하는 경우)

+0

흠, 네, mee와 동일합니다. PowerGUI Script Editor v3.8.0.129를 사용하여 작동하지 않았지만 (콘솔을 실행할 때마다 따로 사용) 콘솔에는 (v1.0) 아무런 문제가 없습니다. 이상한 ... – Dobi

0

이보십시오.

$prog="psloglist"  
$a="\\$serverr -u $user -p $password -s -x"   
Start-Process $prog $a -noNewWindow 

그것이 How to run an EXE file in PowerShell with parameters with spaces and quotes

+0

"이 명령은 오류로 인해 실행할 수 없습니다 : 지정한 파일을 찾을 수 없습니다." Btw. "psloglist"대신 전체 경로를 지정하면 아무 일도 일어나지 않습니다 (오류가없고 다른 것은 없습니다). – Dobi

+0

시작부터 : powershell 프롬프트를 열고 pslogist를 interectivly 실행할 수 있습니까? 매개 변수없이 및 함께? BTW 이것은 % winir % \ system32에 psloglist.exe가있는 win7 x64에서 작동합니다. –

+0

Ok, thx! ;) 아니, 그 이유는 파일이있는 전체 경로를 사용하고 있기 때문입니다. " 'psloglist'라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 검사하거나 경로가 포함되어 있으면 경로가 올바른지 확인한 후 다시 시도하십시오 . " – Dobi

관련 문제