У меня есть сценарий (назовем его myPSScript.ps1), который принимает два параметра и выполняет предопределенные шаги. Скрипт находится в окне Windows Server, в которое люди входят и выполняют скрипт. Поддерживает одновременный вход двух пользователей.
Я хочу узнать, кто вызвал сценарий.
(Get-WmiObject -Class Win32_Process | Where-Object {$_.ProcessName -eq 'explorer.exe'}).GetOwner() | Format-Table Domain, User
Это работает, когда пользователь в настоящее время вошел в систему и пытается запустить сценарий. Но что, если у меня есть командный файл в запланированных задачах и я запускаю тот же сценарий?
В этом случае та же команда возвращает нулевое исключение, так как никто не вошел в систему.
Есть ли способ узнать, кто / какой процесс вызвал сценарий PowerShell. Я смутно помню записи Start-Transcript, от какого пользователя выполняется команда и т. Д., Так что это должно быть возможно?
Спасибо! Санджив