#powershell
#powershell
Вопрос:
Мне нужно отслеживать, когда процесс перестает выполняться для каждого пользователя на удаленных компьютерах.
Я могу получить процессы и имена пользователей для процессов, запущенных на компьютере:
Get-Process -IncludeUserName
И я могу запускать процессы на удаленных компьютерах (без имен пользователей):
Get-Process -ComputerName Test-PC
Но я не могу объединить их вместе! Например, это не работает:
Get-Process -ComputerName Test-PC -IncludeUserName
Как я могу это сделать?
Комментарии:
1. Вам нужно будет обернуть командлет внутри
Invoke-Command
scriptblock. Используйте переключатель ` -IncludeUserName` в scriptblock и-ComputerName
параметр в Invoke-Command2. Мне очень жаль, но не могли бы вы привести пример, которого я раньше не делал?
3. Извините, я сейчас на мобильном телефоне, но я вижу, @Jawad уже показал вам, что я имею в виду.
Ответ №1:
Ниже приведен пример запуска сценария / команды на удаленном компьютере,
$processes = Invoke-Command -ComputerName Test-PC -scriptBlock { Get-Process -IncludeUserName }
Это даст вам все процессы с именем пользователя с удаленного компьютера. Если вам нужно предоставить другие учетные данные, вы можете использовать -Credential
переключатель.
Документация по Invoke-Command — вы должны прочитать об этом, чтобы получить подробную информацию о других коммутаторах.
Комментарии:
1. @Dan, отметьте сообщение как отвеченное, нажав ✔ под голосами, если это ответило на вопрос