2014-10-23 1 views
1

누군가 이전 질문에서 다음과 같이 말했습니다.

"$ env : 사용자 이름 allways는 현재 로그온 한 사용자가 아니라 powershell 세션을 만든 사용자를 나타냅니다."

그러나 현재 로그온 한 사용자는 항상 powershell 세션을 만드는 사용자가 아닙니까?

내 질문에, 당신이 나에게 시나리오 2 또는 사용자 X가 현재 로그온 한 사용자 Y에 대한 powershell 세션을 만들고 있다고 설명 할 수 있습니까?

또한 세션의 개념을 이해하지 못하고있는 것 같습니다. ps1 파일을 마우스 오른쪽 버튼으로 클릭하고 powershell로 실행을 선택하면 누가 그 세션을 생성합니까? 현재 로그온 한 사용자 또는 스크립트 작성자?

로그인 할 때 실행되는 .bat 파일이 있고 ps1 파일을 호출하는 경우 해당 powershell 세션의 작성자는 누구입니까?

제공 할 수있는 도움이 있으면 대단히 감사하겠습니다.

+1

"현재 로그온 한 사용자가 항상 powershell 세션을 만드는 사용자입니까?" 아니요, 누군가 다른 자격 증명으로 powershell.exe 프로세스를 시작했을 수 있기 때문입니다. –

+0

또한 원격 세션은 대부분 다른 계정으로 시작한 다음 컴퓨터를 사용하여 시작합니다. – Paul

답변

4

이것은 로그인 한 사용자와 다른 경우에도 powershell이 ​​현재 실행중인 사용자로 실행됩니다.

PS C:\Windows\system32> $env:username 
jasonw 

PS C:\Windows\system32> Start-Process powershell.exe -Credential "domain\admin.jasonw" -NoNewWindow -ArgumentList "Start-Process powershell.exe -Verb runAs" 
[This opens new window running PS as the user] 

PS C:\Windows\system32> $env:username 
admin.jasonw 
+0

간단한 설명과 데모에 감사드립니다. –