원격 컴퓨터에서 활성 사용자의 세션 ID를 찾아 해당 세션 ID를 사용하여 프로그램을 시작하는 PowerShell 스크립트를 작성하고 있습니다. 여기까지 내가 지금까지 가지고있는 것이있다.psexec/PowerShell 쿼리 사용자 명령에서 세션 ID 추출
$queryusers = $psexecdirectory + ' \\' + $remotepc + ' -u ' + $domain + '\' + $username + ' -p ' + $password + ' query user'
$results = iex $queryusers
는 위의 나는 ID를 얻기 위해 아래 사용했습니다 $results
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
usr1 3 Disc 1:12 9/5/2013 11:59
AM
>usr2 rdp-tcp#1 4 Active . 9/5/2013 11:59
AM
변수에 저장되는 아래 예제 결과로, 잘 작동하지만 세션 이름 '의 숫자 rdp- CTP # 0은 '쓸모없는 그것을 렌더링, 위의 출력처럼의 경우 다른 사용자가 로그인을 변경 :
$id = $results | Select-String "$rdp-tcp#0\s+(\w+)" |
Foreach {$_.Matches[0].Groups[1].Value}
내가 PowerShell을 구문에 익숙하지 않은 오전과 사이트를 찾을 수 없었습니다 여기서 서식 옵션이 설명됩니다. 누군가 나를 도울 수 있습니까? 그리고 문자열에서 발췌 문장을 추출하는 것에 대해 더 많은 것을 배울 수있는 웹 사이트를 알고 있다면? 미리 감사드립니다.
또는 더 많은 powershell (실제로 WMI)을 사용하고 psexec 또는 문자열 피델 링이 필요하지 않습니다. http://gallery.technet.microsoft.com/scriptcenter/0e43993a-895a-4afe-a2b2-045a5146048a –