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