PowerShell 로 프로 세 스 소유자 가 져 오기
Get-Process 는 현재 실행 중인 모든 프로 세 스 의 목록 을 가 져 올 수 있 지만,프로 세 스 의 소유자 정 보 를 되 돌려 주지 않 습 니 다.PowerShell 로 프로 세 스 의 소유자 정 보 를 조회 하려 면 WMI 서 비 스 를 호출해 야 합 니 다.다음은 예 를 들 어 보 겠 습 니 다.
filter Get-ProcessOwner
{
$id = $_.ID
$info = (Get-WmiObject -Class Win32_Process -Filter "Handle=$id").GetOwner()
if ($info.ReturnValue -eq 2)
{
$owner = '[Access Denied]'
}
else
{
$owner = '{0}\{1}' -f $info.Domain, $info.User
}
$_ | Add-Member -MemberType NoteProperty -Name Owner -Value $owner -PassThru
}
리 비 태 주:사실은 전에 비슷 한 글 을 발 표 했 지만 오늘 옛일 을 다시 언급 한 것 은 이 글 에서 원문 작가 가 필 터 를 사 용 했 기 때문에 함 수 를 사용 하지 않 았 기 때문에 참고 할 만하 다.프로 세 스 대상 이 Get-ProcessOwner 에 게 전달 되면 기 존 대상 에'Owner'속성 을 추가 합 니 다.기본적으로 이 속성 은 숨겨 져 있 습 니 다.Selec-Object 를 사용 하여 표시 할 수 있 습 니 다.
PS> Get-Process -Id $pid | Get-ProcessOwner | Select-Object -Property Name, ID, Owner
Name Id Owner
---- -- -----
powershell_ise 10080 TOBI2\Tobias
위의 필터 함수 도 여러 대상 에 적 용 됩 니 다:
PS> Get-Process | Where-Object MainWindowTitle | Get-ProcessOwner | Select-Object -Property Name, ID, Owner
Name Id Owner
---- -- -----
chrome 13028 TOBI2\Tobias
devenv 13724 TOBI2\Tobias
Energy Manager 6120 TOBI2\Tobias
ILSpy 14928 TOBI2\Tobias
(...)
모든 프로 세 스 의 정 보 를 보 려 면 PowerShell 을 관리자 로 실행 해 야 합 니 다.그렇지 않 으 면 소유자 가 자신의 프로 세 스 임 을 볼 수 있 습 니 다.다른 프로 세 스 의 소유 자 는"Access Denied"를 표시 합 니 다.그리고 이런 정 보 는 상대 적 으로 의미 가 없다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PowerShell 프롬프트에 Kubernetes의 현재 컨텍스트 출력다음과 같은 스크립트를 profile.ps1이라는 파일 이름으로 저장하고C:\Users\<ユーザー名>\Documents\WindowsPowerShell\ 에 배치한다. (PowerShell Core의 경우 설치 디렉...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.