PowerShell에서 CMD 명령 실행
PowerShell 명령을 실행하는 데 많은 문제가 있습니다.이 기능은 CMD 프롬프트 창에서 실행되는 명령을 실행하는 것뿐입니다.
다음은 명령입니다.
"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe" PCNAME
저는 다음을 시도했지만 성공하지 못했습니다. (저는 효과가 있는 것을 얻기 위해 이 작업을 여러 번 시도했습니다.구문이 모두 잘못되었을 수 있습니다):
$TEXT = $textbox.Text #$textbox is where the user enters the PC name.
$CMDCOMMAND = "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe"
Start-Process '"$CMDCOMMAND" $TEXT'
#iex -Command ('"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe"' $TEXT)
이 명령을 실행하면 사용자가 텍스트 상자에 지정한 컴퓨터에 SCCM 원격 연결 창이 열립니다.
사용해 보십시오.
& "C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe" PCNAME
PowerShell에서 문자열 "..."은 문자열일 뿐이며 PowerShell은 이를 화면에 반향하여 평가합니다.PowerShell에서 이름이 문자열에 있는 명령을 실행하도록 하려면 호출 연산자를 사용합니다.&
.
PowerShell에서 배치 파일을 외부에서 실행하거나 변환(특히 예약된 모든 작업 스크립트에 인증서를 서명하려는 경우)단순히 PowerShell 스크립트(예: delete folders.ps1)를 만듭니다.
스크립트에 다음을 입력합니다.
cmd.exe /c "rd /s /q C:\#TEMP\test1"
cmd.exe /c "rd /s /q C:\#TEMP\test2"
cmd.exe /c "rd /s /q C:\#TEMP\test3"
*각 명령은 cmd.exe를 호출하는 새 줄에 다시 놓아야 합니다.
이제 PowerShell에서 명령 프롬프트 /로 명령을 출력하여 이 스크립트를 서명하고 실행할 수 있습니다.cmd
직접적으로.
배치 파일을 실행하는 것보다 훨씬 안전한 방법입니다!
한 가지 해결책은 PowerShell에서 CMD로 명령을 파이프로 연결하는 것입니다. 다음 명령을 실행하면 다음 명령이 파이프로 연결됩니다.notepad.exe
CMD로 명령을 전송하면 메모장 응용 프로그램이 열립니다.
PS C:\> "notepad.exe" | cmd
명령이 CMD에서 실행되면 PowerShell 프롬프트로 돌아가 PowerShell 스크립트를 계속 실행할 수 있습니다.
편집
CMD의 시작 메시지가 표시됨
mklement0에서 지적했듯이 이 메서드는 CMD의 시작 메시지를 표시합니다.위의 방법을 사용하여 출력을 다른 터미널로 복사할 경우 시작 메시지가 함께 복사됩니다.
이 정보가 필요한 사용자:
나는 당신이 당신의 안에 있는 명령을 거의 실행할 수 있다는 것을 알았습니다.PATH
PS 스크립트에서 사용할 수 있습니다.
때때로 이 명령을 사용하여 사전 실행해야 할 수 있습니다.cmd.exe /c
예
PS 스크립트에서 Git 호출
다시 포장해야 했습니다.git
Chocolaty(모르는 사람들을 위해, 그것은 Windows용 패키지 관리자)로 포장된 클라이언트로 PS 스크립트를 대량으로 사용합니다.
는 그것을 한 때 .git
에 있습니다.PATH
과 같은 명령
$ca_bundle = git config --get http.sslCAInfo
합니다.git
crt
줄을 지어 들어가다$ca_bundle
변수.
앱 찾기
현재 SO 게시물과 이 SO 게시물의 조합인 또 다른 예는 다음과 같습니다.where
$java_exe = cmd.exe /c where java
합니다.java.exe
줄을 지어 들어가다$java_exe
변수.
이 외부 프로그램을 시작하려면 Invoke-Command cmdlet을 사용해야 합니다.일반적으로 그것은 노력 없이 작동합니다.
두 개 Invoke-Expression cmdlet을 .-scriptblock
선택.
언급URL : https://stackoverflow.com/questions/24940243/running-cmd-command-in-powershell
'itsource' 카테고리의 다른 글
WPF 텍스트 상자에 이벤트 붙여넣기 (0) | 2023.05.12 |
---|---|
및/또는 VBA의 기타 기능 (0) | 2023.05.12 |
사용자가 WPF로 작성된 응용 프로그램의 최상위 창 크기를 조정하지 못하게 하는 가장 좋은 방법은 무엇입니까? (0) | 2023.05.07 |
.gitignore의 댓글? (0) | 2023.05.07 |
두 개체를 비교하여 차이점을 찾습니다. (0) | 2023.05.07 |