Не пропусти
Главная » Установка игр на компьютер » Как получить список процессов на удаленном компьютере

Как получить список процессов на удаленном компьютере

Как получить список процессов на удаленном компьютере

Управление службами Windows с помощью PowerShell

date

27.07.2020

user

Itpro

directory

PowerShell, Windows 10, Windows Server 2016

comments

Комментариев 12

Основные командлеты PowerShell для управления службами Windows

Чтобы получить весь список командлетов Service, введите команду:

управление службами windows из powershell

get-help start-service

Get-Service: получаем список служб и их состояние

get-service просмотр состояния служб

Get-Service spooler –ComputerName RM1,RM2

Вывести все свойства службы позволит командлет Select-Object:

вывести все свойства службы windows

Get-Service Spooler | Select DisplayName, Status, ServiceName, Can*

get-service - можно ли перезапускать, приостаналивать службу windows

    Параметр -DependentServices позволяет вывести службы, которые зависят от данной службы; Параметр -RequiredServices позволяет вывести службы, от которых зависит данная служба.

Get-Service –Name Spooler — RequiredServices

get-service requiredservices зависимости служб в windows

Следующая команда выводит службы, которые зависят от службы Spooler:

Get-Service –Name Spooler — DependentServices

get-service dependentservices

get-service | where-object status -eq

Для вывода служб с типом запуска Manual, выполните команду

Проверить, что в системе имеется указанная служба:

If (Get-Service «ServiceTest» — ErrorAction SilentlyContinue)

Остановка, запуск, приостановка и перезапуск служб из PowerShell

командлет stop-service - остановит службу

stop-service - ошибка cannot stop service because it has dependent services. it can only be stopped if force flag set

Get-service bits, spooler | where | stop-service –passthru

остановить несколько служб из powershell

Командлет Start-Service запускает остановленные службы:

start-service -запуск службы

start-service запустить службу и все зависимые службы

Get-Service samss | Format-List name, canpauseandcontinue

get-service canpauseandcontinue

список служб, разрешающих приостановку

suspend-service

resume-service

Следующая команда возобновляет работу всех приостановленных служб:

Get-service | where-object | resume-service

Командлет Restart-Service перезапускает службу:

restart-service - перезапуск службы windows

Эта команда запускает все остановленные сетевые службы компьютера:

Get-service net* | where-object | restart-service

Set-Service – изменение настроек службы Windows

Изменим тип запуска службы spooler на автоматический:

Set-Service spooler –startuptype automatic –passthru

set-service включить автозапуск для службы

Можно перевести службу на ручной (manual) запуск:

Set-Service spooler –startuptype manual –passthru

ручной запуск службы

Создание и удаление служб Windows c помощью PowerShell

В примере создадим новую службу с именем TestService.

new-service создать новую службу в windows

Get-wmiobject win32_service — filter «name=’testservice'»

get-wmiobject win32_service -filter

Изменить параметры новой службы можно командой

Set-Service — Name TestService — Description ‘My Service’ — StartupType Manual

set-service - изменить тип запуска службы

Чтобы удалить службу используйте команду

(Get-WmiObject win32_service — Filter ″name=′TestService′″).delete()

Изменение учетной записи для запуска службы

Get-wmiobject win32_service — filter «name=’TestService'» | Select name, startname

изменить учетную запись для запуска служб

Для изменения имени и пароля учетной записи выполняем команды.

svc.getmethodparameters

Либо вы можете указать имя gMSA аккаунта. Пароль при этом не указывается.

invoke-wmimethod - запуск службы из под другого пользователя

Как управлять службами в Powershell командлетами Service

получение списка и запуск служб powershell service и управление

Получение списка служб

получение списка служб в powershell get-service

Get-Service | Get-Member - MemberType Properties

свойства сервисов в powershell

Возможно вывести только имена, статус и тип запуска:

тип запуска и статус служб powershell

Или выведем информацию по одному сервису:

Get-Service "WinRM" | Ft Name, Status, StartType

У сервисов есть короткое имя и отображаемое. Так мы выведем оба:

имена служб powershell

Get-Service - DisplayName "Win*" | Ft Name, DisplayName, Status, StartType

powershell использование маски у сервисов

    Cannot find any service with service name Cannot find any service with display name Не удается найти службу с отображаемым именем

Кроме этого есть два ключа, которые тоже поддерживают маски:

Можно сравнить разницу с прошлым примером:

По каждому из них мы можем отфильтровать результат:

Get-Service | where - Property Status - eq Stopped

powershell service фильтрация по статусу

    Automatic — автоматический запуск вместе с системой. AutomaticDelayedStart — запуск после загрузки системы. Manual — ручной запуск. Disabled — отключенный.
Get-Service | where - FilterScript | ft 'Name','StartType','Status'

powershell остановленные службы

winrm зависимые службы powershell

Есть несколько свойств, которые не выведены в параметры — это:

    CanPauseAndContinue — можно ли приостановить работу сервиса и возобновить. CanShutdown — может ли быть выключен. CanStop — может ли быть полностью остановлен.
Gsv - ServiceName 'Winrm' | SELECT CanPauseAndContinue, CanShutdown, CanStop | fl

powershell canpauseandcontinue службы powershell

powershell получение сервисов с удаленного компьютера

Как отослать сообщение через Powershell

Остановка, перезапуск и запуск служб

Можно выполнить получение, остановку и запуск в одну команду:

Stop-Service - DisplayName 'Windows Remote Management (WS-Management)' - Confirm
Stop-Service 'WinR*' - Include '*M' Start-Service 'WinR*' - Include '*M'

powershell запуск служб

    Cannot stop service ‘Remote Procedure Call (RPC) (RpcSs)’ because it has dependent services. It can only be stopped if the Force flag is set. Не удается получить доступ к зависимым службам «Удаленный вызов процедур (RPC) (RpcSs)».

Перезапуск сервисов работает так же со всеми параметрами:

Invoke-Command - ComputerName 'AD1','localhost' - ScriptBlock

Восстановление и приостановка работ служб

powershell восстановление работы служб

Командой ниже мы получи, нажмем паузу и восстановим работу сервиса Winmgmt:

Get-Service - Name 'Winmgmt' | Suspend-Service | Resume-Service
    Service ‘Windows Remote Management (WS-Management)’ cannot be suspended because the service does not support beingsuspended or resumed. Не удается приостановить службу «Spooler», так как этой службой не поддерживается приостановка или возобновление.

Изменение с Set-Service

Set-Service 'WinRM' - StartupType Automatic

В случае изменения сервисов нельзя использовать маски *.

Через эту команду можно так же выполнить запуск и остановку:

Set-Service 'WinRM' - Description 'что вы сделали с PS'

powershell учетная запись сервиса и описание

Команды изменения можно выполнять удаленно:

Set-Service WinRM - ComputerName 'AD1' - StartupType Automatic

Создание сервисов с New-Service

New-Service - Name 'TestService' - BinaryPathName 'C:\test. exe'

Параметры, которые в последующем нельзя будет изменить через PS:

    DisplayName — полное отображаемое имя. Credential — учетная запись, под которой будет происходить запуск. DependsOn — от кого будет зависеть.
    Service ‘Testing Services In Powershell (TestService1)’ cannot be created due to the following error: The account name is invalid or does not exist, or the password is invalid for the account name specified

Кроме этого есть параметры, которые возможно изменить через команды выше:

Получение с помощью WMI класса

Что бы получить список аналогичный Get-Service выполните:

получение списка служб с помощью wmi в powershell

В классе WMI можно увидеть больше свойств, которые можно использовать:

Get-WmiObject - Class 'Win32_Service' | Get-Member - MemberType Properties

powershell свойства служб в wmi

получение процесса сервиса в powershell

О том как работать с процессами в Powershell мы писали в прошлой статье.

имя аккаунта службы в powershell

Изменение с помощью WMI класса

Для управления в WMI существую методы. Все методы класса можно получить так:

Get-WmiObject - Class 'Win32_Service' | Get-Member - MemberType Method

powershell управление в wmi службами

Удалим сервис, который создавался через New-Service:

Get-WmiObject - Class 'Win32_Service' | Get-Member - MemberType Method

удаление служб в powershell

Список процессов удаленного компьютера

komandlety upravleniya processami v powershell

Get-Process – получение списка запущенных процессов

get process spisok zapushennyh processov

По-умолчанию выводятся следующие свойства запущенных процессов:

Чтобы получить все свойства нескольких процессов:

word image

Get-Process | Where-Object | Format-Table Id, Name, mainWindowtitle

get process or where object dollar mainwindowtitle p

get process najti processy kotorye zanimayut bolee

powershells skript s get process vyvodit procent i

Чтобы найти зависшие процессы (которые не отвечают), выполните команду:

Start-Process, Stop-Process: запуск и остановка процессов из PowerShell

Чтобы запустить новый процесс с помощью PowerShell используется команда:

Можно запустить программу и передать ей аргументы:

stop process zavershit process powershell

PowerShell: управление процессами на удаленном компьютере

Мониторинг производительности удаленного компьютера без входа на него

Дополнительная информация

Установите набор Windows NT 4.0 на удаленном компьютере.

В командной строке введите следующую команду, а затем нажмите клавишу ВВОД:

Это означает, что вы уже успели выполнить команду один раз.

Как посмотреть список процессов в Windows на удаленном компьютере

/SVC — отображение служб для каждого процесса;

/V — ведение подробного протоколирования;

Используемые операторы сравнения означают следующее:

tasklist 004

Статья Команда TASKLIST. Получение списка процессов, связанных служб, библиотек и функций. Фильтрация.

Dragokas

Very kind Developer

format table png

format csv png

tasklist list png

2-й и 3-й вариант не будут урезать в выводе имя файла до 25 символов.

Задача:
Узнать, выполняется ли процесс calc. exe (или другой) в системе:

Dragokas

Very kind Developer

urlmon svchost details png

Или без find, чтобы увидеть какие конкретно функции из библиотеки испольует.

Например, Показать зависшие процессы (в диспетчере задач «Не отвечает»):

Dragokas

Very kind Developer

session tasklist png

Как работать с процессами через Powershell Get-Process

1

Попробуем преобразовать значение из килобайтов в мегабайты:

2

Где:
-Select-Object обозначаем столбцы, которые хотим вывести.

Как вывести детальную информацию через Powershell Get-Process

3

Под такой командой powershell я могу узнать имя, которое пишется в окошке:

4

Так мы выведем все запущенные процессы, у которых есть GUI:

5

Как отфильтровать процессы по утилизации в Powershell

6

Запуск и остановка процессов через Powershell

Конечно мы можем остановить процесс по идентификатору или имени:

Таким командлетом мы остановим самый старый процесс:

Запуск экземпляра и его завершение через 5 секунд:

Все остальные команды можно узнать с помощью:

Справки с вариантами использования команд powershell:

Источники:

Https://winitpro. ru/index. php/2019/09/05/upravlenie-sluzhbami-windows-powershell/

Https://fixmypc. ru/post/poluchenie-spiska-i-zapusk-sluzhb-powershell-service-i-upravlenie/

Https://doma35.ru/computers/spisok-protsessov-udalennogo-kompyutera/

Оставить комментарий