원격 서버에서 일부 작업을 수행하는 사용자 상자에서 스크립트를 실행할 것입니다. 그러나 사용자는 서버에 액세스 할 수 없으므로 권한이있는 다른 사용자로 스크립트를 실행합니다.
내가 어려움을 겪고있는 부분은 서버에 전달하기 위해 로그온 한 사용자 (박스 사용자)의 사용자 이름과 도메인을 가져와야한다는 것입니다. 필요한 데이터를 가져올 수있는 다양한 명령이 있지만 PowerShell ISE를 다른 사용자로 실행하면 모두 로그온 한 사용자 데이터가 아닌 해당 사용자 데이터를 반환합니다.
내가 말하는 명령 중 일부 :
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$env:USERNAME
$env:USERDOMAIN
$(whoami)
내가 원하는 방식으로 작동하는 유일한 방법은 다음과 같습니다.
query user
다음 형식을 반환합니다.
USERNAME SESSIONNAME ID 상태 유휴 시간 로그온 시간 > user1 sessionName 4 활성. 2017 년 6 월 22 일 오후 2:56
내 두 가지 질문은 다음과 같습니다.
활성 사용자 쿼리 :
query user | Select-String '^>(\w+)' | ForEach-Object { $_.Matches[0].Groups[1].Value }
이것은 공백을 포함하지 않는 사용자 이름에 따라 다릅니다. 명령에 /server
매개 변수를 추가하여 query
원격 컴퓨터를 쿼리합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다