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