Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Introduction_to_Windows_PowerShell.rtf
Скачиваний:
9
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

Остановка всех других сеансов Windows PowerShell

Иногда становится необходимым остановить все запущенные сеансы Windows PowerShell, кроме текущего. Если в сеансе используется слишком много ресурсов или он недоступен (выполняется удаленно или в другом сеансе рабочего стола), то остановить его напрямую невозможно. Однако при попытке остановить все выполняемые сеансы текущий сеанс может быть просто завершен.

У каждого сеанса Windows PowerShell имеется переменная среды, PID, в которой содержится идентификатор процесса Windows PowerShell. Значение переменной $PID можно проверить на совпадение с идентификаторами всех сеансов и завершить только те сеансы, идентификатор которого отличается от заданного. Это действие представлено следующей командой конвейера, которая возвращает список завершенных сеансов (через параметр PassThru).

PS> Get-Process -Name powershell | Where-Object -FilterScript {$_.Id -ne $PID} | Stop-Process -

PassThru

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName

------- ------ ----- ----- ----- ------ -- -----------

334 9 23348 29136 143 1.03 388 powershell

304 9 23152 29040 143 1.03 632 powershell

302 9 20916 26804 143 1.03 1116 powershell

335 9 25656 31412 143 1.09 3452 powershell

303 9 23156 29044 143 1.05 3608 powershell

287 9 21044 26928 143 1.02 3672 powershell

Управление локальными службами

Существует восемь основных служебных командлетов, разработанных для широкого спектра служебных задач. В разделе будут рассмотрены только перечисление и измененеие состояния служб. Список остальных служебных командлетов можно получить с помощью команды Get-Help *-Service, а дополнительные сведения о каждом командлете выводятся командой Get-Help<Cmdlet-Name>, например Get-Help New-Service.

Перечисление служб

Локальные службы компьютера можно перечислить, используя командлет Get-Service. Как и в случае командлета Get-Process, использование команды Get-Service без параметров выводит все службы. Выводимые данные можно отсортировать по именам, даже при использовании звездочки (*) в качестве подстановочного знака.

PS> Get-Service -Name se*

Status Name DisplayName

------ ---- -----------

Running seclogon Secondary Logon

Running SENS System Event Notification

Stopped ServiceLayer ServiceLayer

Поскольку настоящее имя той или иной службы не всегда очевидо, может потребоваться поиск служб по отображаемым именам. Можно выполнить поиск по определенному имени, с использованием знаков подстановки, или получить список отображаемых имен.

PS> Get-Service -DisplayName se*

Status Name DisplayName

------ ---- -----------

Running lanmanserver Server

Running SamSs Security Accounts Manager

Running seclogon Secondary Logon

Stopped ServiceLayer ServiceLayer

Running wscsvc Security Center

PS> Get-Service -DisplayName ServiceLayer,Server

Status Name DisplayName

------ ---- -----------

Running lanmanserver Server

Stopped ServiceLayer ServiceLayer

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]