source

창을 표시하지 않고 파워셸 스크립트를 백그라운드 작업으로 실행하려면 어떻게 해야 합니까?

factcode 2023. 10. 26. 21:51
반응형

창을 표시하지 않고 파워셸 스크립트를 백그라운드 작업으로 실행하려면 어떻게 해야 합니까?

성능 카운터를 꺼서 .csv 파일에 저장하고 파일이 너무 커지면 롤오버하는 스크립트를 만드는 중입니다.powershell 프롬프트나 ISE(I running v.2/win server 2008)에서 스크립트를 실행하면 정상적으로 작동하며 파일이 올바르게 실행됩니다.

그러나 다음 cmd 프롬프트 줄을 사용하여 명령을 실행하려고 하면(cmd에서 /k 스위치를 시도해도) 명령 프롬프트가 즉시 닫히고 파일이 실행되지 않습니다.

powershell.exe -windowstyle hidden {iis_test.ps1}

나는 또한 다음을 시도했는데 파워셸이 멈추지 않는 것을 보지만(나는 태스크 관리자를 통해 모니터링하고, Powershell.exe가 나타나도록 찾기 위해), 파일이 생성되는 것을 보지 못합니다.

powershell.exe -noexit -windowstyle hidden {iis_test.ps1}

또한 오류가 발생 가능한 장소(이벤트 뷰어, 명령 프롬프트 창 자체)에서 발견되지 않습니다.

무슨 생각 있어요?궁극적으로 이러한 스크립트 파일이라고 하는 vb winforms를 만드는 것이 제 목표이고, 자연스럽게 명령 프롬프트 명령어를 파악하는 것이 도움이 될 것이라고 생각했습니다. 스크립트는 휴대용이며 Windows 2008 Server 시스템에서 실행되는 것이 매우 중요합니다(따라서 추가 설치가 필요한 타사 엔티티와 멀리 떨어져 있어야 합니다).

편집: 실행할 파일을 지정하려면 -file 인수를 사용해야 했습니다.

DOS/CMD 셸에서 시도해 보십시오.

powershell.exe -windowstyle hidden -file C:\iis_test.ps1
Powershell.exe -windowstyle hidden -file C:\iis_test.ps1

그러나 이 명령을 실행하면 CMD 창이 나타납니다.
대신 VBscript를 사용할 수 있습니다.

Set objShell = CreateObject("WScript.Shell")
objShell.Run "CMD /C START /B " & objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\System32\WindowsPowerShell\v1.0\powershell.exe -file " & "YourScript.ps1", 0, False
Set objShell = Nothing

언급URL : https://stackoverflow.com/questions/16303150/how-can-i-run-a-powershell-script-as-a-background-task-without-displaying-a-wind

반응형