Powershell - Найдите пользователя, который вызвал сценарий

У меня есть сценарий (назовем его myPSScript.ps1), который принимает два параметра и выполняет предопределенные шаги. Скрипт находится в окне Windows Server, в которое люди входят и выполняют скрипт. Поддерживает одновременный вход двух пользователей.

Я хочу узнать, кто вызвал сценарий.

(Get-WmiObject -Class Win32_Process | Where-Object {$_.ProcessName -eq 'explorer.exe'}).GetOwner() | Format-Table Domain, User 

Это работает, когда пользователь в настоящее время вошел в систему и пытается запустить сценарий. Но что, если у меня есть командный файл в запланированных задачах и я запускаю тот же сценарий?

В этом случае та же команда возвращает нулевое исключение, так как никто не вошел в систему.

Есть ли способ узнать, кто / какой процесс вызвал сценарий PowerShell. Я смутно помню записи Start-Transcript, от какого пользователя выполняется команда и т. Д., Так что это должно быть возможно?

Спасибо! Санджив

15
задан Sanjeev 21 September 2011 в 19:50
поделиться