Запуск процессов для удаленных компьютеров с именем пользователя

#powershell

#powershell

Вопрос:

Мне нужно отслеживать, когда процесс перестает выполняться для каждого пользователя на удаленных компьютерах.

Я могу получить процессы и имена пользователей для процессов, запущенных на компьютере:

 Get-Process -IncludeUserName
 

И я могу запускать процессы на удаленных компьютерах (без имен пользователей):

 Get-Process -ComputerName Test-PC
 

Но я не могу объединить их вместе! Например, это не работает:

 Get-Process -ComputerName Test-PC -IncludeUserName
 

Как я могу это сделать?

Комментарии:

1. Вам нужно будет обернуть командлет внутри Invoke-Command scriptblock. Используйте переключатель ` -IncludeUserName` в scriptblock и -ComputerName параметр в Invoke-Command

2. Мне очень жаль, но не могли бы вы привести пример, которого я раньше не делал?

3. Извините, я сейчас на мобильном телефоне, но я вижу, @Jawad уже показал вам, что я имею в виду.

Ответ №1:

Ниже приведен пример запуска сценария / команды на удаленном компьютере,

 $processes = Invoke-Command -ComputerName Test-PC -scriptBlock { Get-Process -IncludeUserName }
 

Это даст вам все процессы с именем пользователя с удаленного компьютера. Если вам нужно предоставить другие учетные данные, вы можете использовать -Credential переключатель.

Документация по Invoke-Command — вы должны прочитать об этом, чтобы получить подробную информацию о других коммутаторах.

Комментарии:

1. @Dan, отметьте сообщение как отвеченное, нажав ✔ под голосами, если это ответило на вопрос