PowerShell 또는 C#에서 프로세스에 대한 명령줄 정보를 가져오는 방법
예: 실행할 경우notepad.exe c:\autoexec.bat
,
어떻게 해야 합니까?c:\autoexec.bat
에Get-Process notepad
PowerShell에서?
아니면 어떻게 해야 하나요?c:\autoexec.bat
에Process.GetProcessesByName("notepad");
C#에?
PowerShell에서는 WMI를 통해 프로세스의 명령줄을 가져올 수 있습니다.
$process = "notepad.exe"
Get-WmiObject Win32_Process -Filter "name = '$process'" | Select-Object CommandLine
다른 사용자의 컨텍스트에서 실행 중인 프로세스에 대한 정보에 액세스하려면 관리자 권한이 필요합니다.일반 사용자는 자신의 컨텍스트에서 실행되는 프로세스에서만 볼 수 있습니다.
이 대답은 훌륭하지만, 미래의 방어와 미래의 호의를 위해, 당신이 꽤 오래된 파워셸을 사용하지 않는 한(그 경우 업데이트를 추천합니다!)Get-WMIObject가 Get-CimInstanceHey 스크립트 작성자 참조로 대체되었습니다.
사용해 보세요.
$process = "notepad.exe"
Get-CimInstance Win32_Process -Filter "name = '$process'" | select CommandLine
powershell $profile 파일에 다음 코드를 넣으면 "process" 객체 클래스를 영구적으로 확장하고 "CommandLine" 속성을 사용할 수 있습니다.
예:
get-process notepad.exe | select-object ProcessName, CommandLine
코드:
$TypeData = @{
TypeName = 'System.Diagnostics.Process'
MemberType = 'ScriptProperty'
MemberName = 'CommandLine'
Value = {(Get-CimInstance Win32_Process -Filter "ProcessId = $($this.Id)").CommandLine}
}
Update-TypeData @TypeData
powershell 7.1을 사용하고 있는데 이제 프로세스 개체에 스크립트 속성으로 내장되어 있는 것 같습니다.
> (Get-Process notepad)[0].CommandLine
"C:\WINDOWS\system32\notepad.exe"
흥미롭게도, 당신은 그것의 구현을 볼 수 있고 그것이 부분적으로 PsychoData의 답을 사용한다는 것을 알 수 있습니다.
($process | Get-Member -Name CommandLine).Definition
System.Object CommandLine {get=
if ($IsWindows) {
(Get-CimInstance Win32_Process -Filter "ProcessId = $($this.Id)").CommandLine
} elseif ($IsLinux) {
Get-Content -LiteralPath "/proc/$($this.Id)/cmdline"
}
;}
프로세스에서 구성원 가져오기를 실행하면 해당 구성원이 시스템 인스턴스임을 알 수 있습니다.진단.프로세스(스크립트로 작성된 여러 속성이 있음).
다른 속성은 FileVersion, Path, Product 및 ProductVersion입니다.
언급URL : https://stackoverflow.com/questions/17563411/how-to-get-command-line-info-for-a-process-in-powershell-or-c-sharp
'programing' 카테고리의 다른 글
잠시 후의 휴식...웬드루프 (0) | 2023.05.03 |
---|---|
Mongoose에서 Model.findOne()과 Model.findById()의 차이점은 무엇입니까? (0) | 2023.05.03 |
UIImage장치의 실행 화면에서 누락된 이미지 보기 (0) | 2023.05.03 |
WPF: App.xaml의 목적은 무엇입니까? (0) | 2023.05.03 |
Egit 거부됨 비고속 전달 (0) | 2023.05.03 |