문제가 있습니다.
첫 번째 상황
프로세스가 이미 시작되었습니다.
그리고 현재 프로세스가 완료된 후에 뭔가를하고 싶습니다.
$process=[System.Diagnostics.Process]::GetProcessesByName("notepad")
그리고 Register-ObjectEvent $process Exited -Action {}
그러나이 경우
, 내가 이벤트 "에 Exited"을 등록 할 수 있습니다 방법
을 작동하지 않습니다 예를 들어
?
두 번째 상황
프로세스가 아직 시작되지 않았습니다. 어떻게 내가 할 수있는 시작 프로세스를 기다리?)Powershell의 프로세스
답변
첫 번째 부분은 두 번째 부분에 대한 [System.Diagnostics.Process]::GetProcessesByName("notepad") | foreach {Register-ObjectEvent $_ Exited -Action { ... } }
와 마티아스 R. Jessen 응답되는 솔루션은 다음과 같습니다. 여기에 신용 기록이 있습니다 PDQ.com - Register-ObjectEvent
WQL 쿼리를 사용하여 프로세스 시작 이벤트를 모니터링 한 다음 시작 프로세스 중 일부에 대한 응답으로 이벤트를 발생시키는 쿼리 감시자를 설정하고 해당 감시자에서 Register-ObjectEvent
으로 수신 대기해야합니다. 코드 복사 - 붙여 넣기 :
$Query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'"
$ProcessWatcher = New-Object System.Management.ManagementEventWatcher $query
$Action = { New-Event "PowerShell.ProcessCreated" -Sender $Sender -EventArguments $EventArgs.NewEvent.TargetInstance }
register-objectEvent -InputObject $ProcessWatcher -EventName "EventArrived" -Action $Action
Nice one, 'Register-WMIEvent'도 여기에 옵션입니다 –
@ MathiasR.Jessen이 답변에 그 것을 추가 할 수 있습니다. 위키. – Vesper
@Vesper WMIEvent가 마음에 들지 않습니다!) 베스퍼 방식으로 시도해 보겠습니다! 정말 고마워! 나는 새로운 객체 Management.EventQuery'보다 더 좋아 '라고 생각 @Vesper –
- 1. PowerShell의 실행 파일 목록에서 프로세스 살생 프로세스
- 2. 어떻게 PowerShell의 프로세스 또는 C#
- 3. WASP/powershell의 창으로 프로세스 오브젝트를 가져 옵니까?
- 4. ProcessStartInfo 및 PowerShell의 프로세스 - 인증 오류
- 5. C# PowerShell의 Stop-Process 명령
- 6. Powershell의 AppDomain.DoCallBack
- 7. PowerShell의 광도
- 8. Powershell의 슬래시
- 9. PowerShell의 virtualenv?
- 10. Powershell의 배열
- 11. Powershell의 last_insert_id
- 12. PowerShell의 호출 연산자는 정확히 무엇을합니까?
- 13. PowerShell의 권장 코딩 스타일은 무엇입니까?
- 14. PowerShell의 COM 인터페이스 래퍼?
- 15. PowerShell의 4NT와 비슷한 기능
- 16. Powershell의 액세스 서버 루트
- 17. powershell의 cmdlet으로 메시지 캡처
- 18. Powershell의 링크에서 추출한 값
- 19. Powershell의 switch 문
- 20. Powershell의 배열 비교
- 21. powershell의 cURL 명령
- 22. powershell의 machine.config 파일에 쓰기
- 23. PowerShell의 Multiline Regex
- 24. PowerShell의 무한 값은
- 25. Powershell의 Powershell DBCC CheckDB
- 26. $ doc는 Powershell의 예약어/참조입니까?
- 27. Powershell의 Base64 인코딩
- 28. Powershell의 파일 버전 비교
- 29. PowerShell의 NIC 주문
- 30. Powershell의 SQLjob 개요
'GetProcessesByName' 프로세스의 배열을,'반환 등록-ObjectEvent $ 과정 [0]에 Exited - 액션 당신의 도움에 대한' –
감사합니다 {<여기에 # #의 codez>}! 이것은 내가 첫번째 질문을 찾고 있었던 것이다! –
Hmmm .... 그리고 그런 식으로 IF ($ process.HasExited) {} –