Как упоминалось в заголовке, как узнать, какой пользователь запускает службу с помощью PowerShell?
gwmi win32_service | ForEach-Object {
$process=$_.ProcessId
$name=$_.Displayname
if($process -ne 0)
{
Write-Host "Service: $name - ID: $process"
(gwmi -class win32_process | where{$_.ProcessID -eq $process }).getowner() | Select -property domain, user }
}
Не тестировал много, но дает мне то, что мне нужно.
Вы также можете получить это через WMI:
$serviceName = "EventSystem"
$svc = Get-WmiObject win32_service | ?{$_.Name -eq $serviceName}
$svc.StartName