Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

Основные возможности

Разумеется Windows PowerShell — это в первую очередь командная оболочка с языком сценариев, изначально созданная на основе платформы .NET Framework, а позднее — на .NET Core. В отличие от принимающих и возвращающих текстовые данные оболочек, Windows PowerShell работает с классами .

NET, у которых есть свойства и методы. PowerShell позволяет выполнять обычные команды, а также дает доступ к объектам COM, WMI и ADSI. В ней используются различные хранилища, вроде файловой системы или реестра Windows, для доступа к которым созданы т.н. поставщики (providers).

Стоит отметить возможность встраивания исполняемых компонентов PowerShell в другие приложения для реализации различных операций, в т.ч. через графический интерфейс. Верно и обратное: многие приложения для Windows предоставляют доступ к своим интерфейсам управления через PowerShell.

Windows PowerShell позволяет:

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

Командлет Get-Process позволяет вывести список запущенных процессов на локальном компьютере.

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

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

Get-Process winword, notep* | Format-List *

Можно вывести только определенный свойства процессов. Например, имя (ProcessName) время запуска (StartTime), заголовок окна процесса (MainWindowTitle), имя исполняемого файла (Path) и наименование разработчика (Company):

Get-Process winword, notep* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft

Вывести список запущенных процессов пользователя с графическими окнами (в список не попадут фоновые и системные процессы):

Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle

Start-process, stop-process: запуск и остановка процессов из powershell

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

Start-Process -FilePath notepad

Если каталог с исполняемым файлом отсутствует в переменной окружения $env:path, нужно указать полный путь к файлу:

Start-Process -FilePath ‘C:distrapp.exe’

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

Start-Process -FilePath ping -ArgumentList “-n 10 192.168.1.11”

С помощью параметра WindowStyle вы можете задать режим запуска окна процесса (normal, minimized, maximized, hidden). Например, чтобы запустить программу в максимально развернуом окне и дождаться завершения процесса, выполните команду:

Start-Process -FilePath tracert -ArgumentList “192.168.1.11” –wait -windowstyle Maximized

С помощью командлета Stop-Process можно завершить любой процесс. Например, чтобы закрыть все запущенные процессы notepad:

Stop-Process -Name notepad

По-умолчанию не запрашивается подтверждение завершения процесса. Закрываются все процессы, которые соответствуют указанным критериям. Чтобы запросить подтверждение завершения для каждого процесса, добавьте –Confirm.

Stop-Process -Name notepad.exe -Confirm

Из PowerShell можно принудительно завершить все приложения, которые не отвечают диспетчеру процессов Windows:

Get-Process | where-object {$_.Responding -eq $false}| Stop-Process

Вариант №1: открытие “службы” через системный поиск

В операционных системах Windows 10 и новейшей Windows 11, поиск стал незаменимо частью. С помощью него наиболее просто найти необходимые компоненты, особенно, когда вам ведомо их название. Для этого:

  1. нажмите на значок с изображением лупы, возле меню “Пуск” (в Windows 11 нужно сначала открыть меню “Пуск)”
  2. начните писать слово “Службы” и система сразу же предоставить необходимый результат поиска

    Где находятся и как открыть

  3. нажмите по названию, чтобы открыть “Службы”

Это самый просто и быстрый способ, чтобы найти необходимый компонент в операционной системе. Главное – нужно знать название.

Версии powershell

С момента первого релиза в 2006 году PowerShell серьезно изменился. Инструмент доступен для множества систем, работающих на разных аппаратных платформах (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.

1, Windows RT, Windows RT 8.1, Windows Server 2021/2021 R2, Windows 10, Windows Server 2021, GNU/Linux и OS X. Последний релиз 6.2 выпущен 10 января 2021 года. Написанные для более ранних версий скрипты с высокой вероятностью будут работать в более поздних, а вот с обратным переносом могут возникнуть проблемы, поскольку за годы развития в PowerShell появилось большое количество новых командлетов.

$PSVersionTable.PSVersion


Также можно воспользоваться командлетом:

Get-Variable -Name PSVersionTable –ValueOnly

То же самое делается и с помощью командлета Get-Host. На самом деле вариантов множество, но для их применения нужно изучить язык программирования PowerShell, чем мы и займемся в

Диспетчер задач

Возможность запустить, остановить, перезапустить или посмотреть подробности любой из служб есть в обновленном диспетчере задач.

  1. Откройте контекстное меню нажав правой кнопкой мыши на панели задач и выберите пункт Диспетчер задач или же воспользуйтесь сочетанием клавиш Ctrl Shift Esc.
  2. В открывшемся окне достаточно перейти в последнюю вкладку Службы чтобы получить возможность управления службами.Диспетчер задач

Пользователю достаточно нажать правой кнопкой мыши на нужной службе, чтобы получить возможность запустить, остановить или перезапустить её.

Запуск задач в фоновом режиме


Довольно часто бывает нужно запустить некую команду в фоне, чтобы не дожидаться результата ее выполнения в сессии оболочки. В Windows PowerShell есть несколько командлетов на такой случай:

Start-Job — запуск фоновой задачи;Stop-Job — остановка фоновой задачи;Get-Job — просмотр списка фоновых задач;Receive-Job — просмотр результата выполнения фоновой задачи;Remove-Job — удаление фоновой задачи;Wait-Job — перевод фоновой задачи обратно в консоль.

Для запуска фоновой задачи мы используем командлет Start-Job и в фигурных скобках указываем команду или набор команд:

Start-Job {Get-Service}


Фоновыми задачами в Windows PowerShell можно манипулировать, зная их имена. Для начала научимся их отображать:

Get-Job

Теперь покажем результат работы задания Job1:

Receive-Job Job1 | more

Всё довольно просто.

Используем wmi

Чтобы изменить пароль служебной учетной записи, нам нужна ссылка на объект службы. И я предполагаю, что это служба с учетной записью пользователя.

PS C:> get-wmiobject win32_service -filter "name='yammmsvc'" | Select name,startname

name                                              startname
----                                              ---------
YammmSvc                                          .Jeff

В этом посте мы рассматривали, что для этих целей можно использовать метод Change() для изменения пароля служебной учетной записи. Также помним, что параметры Invoke-WmiMethod не следует задокументированному на MSDN порядку.

PS C:> $svc = get-wmiobject win32_service -filter "name='yammmsvc'"
PS C:> $svc.GetMethodParameters("change")

__GENUS                    : 2
__CLASS                    : __PARAMETERS
__SUPERCLASS               :
__DYNASTY                  : __PARAMETERS
__RELPATH                  :
__PROPERTY_COUNT           : 11
__DERIVATION               : {}
__SERVER                   :
__NAMESPACE                :
__PATH                     :
DesktopInteract            :
DisplayName                :
ErrorControl               :
LoadOrderGroup             :
LoadOrderGroupDependencies :
PathName                   :
ServiceDependencies        :
ServiceType                :
StartMode                  :
StartName                  :
StartPassword              :
PSComputerName             :

Пароль находится на 11 месте. А это значит, что нам необходимо вставить пустые значения для 10 предыдущих параметров, которые не меняются.

PS C:> $svc | Invoke-WmiMethod -Name Change -ArgumentList
@($null,$null,$null,$null,$null,$null,$null,$null,$null,$null,"P@ssw0rd")

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0
PSComputerName   :

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

PS C:> $svc | Invoke-WmiMethod -Name Change -ArgumentList @($null,$null,$null,$null,$null,$null,$null,$null,$null,"LocalSystem","P@ssw0rd")

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

Как запустить windows powershell от имени администратора в windows 8.1 и windows 7

Открыть windows powershell можно через пуск. В Windows 8.1, Windows 2021 R2 переходите в пункт Служебные – Windows и правым кликом выбираете запустить от имени администратора.

В Windows 7 и Windows 2008 R2 это выглядит вот так Пуск > Стандартные > Windows PowerShell

Так же можно создать ярлык в пункте задачи и щелкнуть по нему правым кликом и выбрать соответствующий пункт

было бы удобно, чтобы PowerShell всегда открывался от имени администратора, давайте это реализуем. Делается это во всех версиях Windows одинаково. Открываем панель управления

Далее пункт Администрирование > Windows PowerShell (x86)

Щелкаем по нему правым кликом мыши и выбираем пункт свойства. Сразу можете посмотреть путь до файла, где он лежит в системе.

:/>  Как «побороть» ошибку 0xc000007b в ОС Windows 7 / 8 / 8.1/10 (x86/64)?

Нажимаем кнопку “Дополнительно”. У вас откроется дополнительные свойства. где вам нужно выставить галку запуск от имени администратора.

Все очень просто. Уверен, что у вас теперь не встанет вопроса как вам открыть windows powershell. Еще полезным бывает поменять шрифт в окне powershell.

Как отключить ненужные службы

Прежде чем остановить активность конкретной программы, нужно изучить ее зависимости. Узнать такую информацию удастся из специальной консоли, на которой размещен перечень (стандартный и расширенный) всех вспомогательных приложений, работающих на ПК. Нужно лишь выбрать конкретный сервис и вызвать для него окошко «Свойства».

Как узнать о зависимых компонентах:

  • вызвать Панель управления (через Пуск);
  • отыскать и активировать «Администрирование»;
  • найти слово «Службы» и кликнуть по нему один раз;
  • появится одноименная консоль со списком (расширенным и стандартным);
  • выделить конкретное приложение и кликнуть по нему;
  • появится окошко со свойствами;
  • отыскать вкладку «Зависимости»;
  • появится два списка:
  • 1) перечень компонентов, от которых зависит данная служба;
  • 2) перечень компонентов, которые зависят от данного сервиса.

Отключать ненужные приложения рекомендуется для разгрузки процессора и оперативной памяти. Чаще всего деактивируют удаленный доступ к рабочему столу. По умолчанию эта функция на большинстве ПК включена. Для обеспечения безопасности персонального устройства лучше удаленный доступ к своему рабочему столу самостоятельно деактивировать.

Как отключить конкретное приложение через Панель управления:

  • через Пуск и Панель управления вызвать консоль «Службы»;
  • в списке отыскать компонент, работу которого требуется остановить;
  • кликнуть один раз по этому элементу;
  • всплывет окошко «Свойства»;
  • открыть в нем вкладку под названием «Общие»;
  • выставить режим «Ручной» для функции «Тип запуска»;
  • если написано «работает», то нажать на кнопку «Стоп» или «Остановить»;
  • сохранить измененные функции.

Способ деактивации приложения через «Выполнить»:

  • перейти в Пуск;
  • вызвать «Выполнить»;
  • появится консоль;
  • выбрать из перечня конкретное приложение;
  • вызвать для него окошко «Свойства»;
  • в строчке «Тип запуска» выставить функцию «Отключено»;
  • «Применить» измененный параметр.

Способ деактивации из командной строки:

  • вызвать командную строчку на администраторских правах;
  • написать команду (символы): sc config “наименование компонента” start= disabled.

Способ отключения приложения через «Редактор реестра» (если в окошке «Свойства» неактивна строчка «Тип запуска»):

  • предварительно запустить «Службы» и посмотреть полное наименование отключаемой программы;
  • активировать «Выполнить»;
  • написать символы: regedit;
  • появится окно под названием «Редактор реестра»;
  • перейти в самый конец: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices;
  • в списке «services» отыскать программу для отключения;
  • кликнуть один раз по выбранному компоненту;
  • в открывшемся перечне найти параметр «Start»;
  • кликнуть дважды по этому параметру;
  • в окне «Изменение параметра» в строчке «Значение» выставить «4»;
  • нажать один раз на «ОК» и выполнить перезагрузку ПК.

Важно! При деактивации конкретной программы вначале рекомендуется убедиться, что ее отключение не повлечет изменение жизненно важных процессов на ПК. Информация о зависимых компонентах находится в окошке «Свойства» во вкладке под названием «Зависимости». Выключение конкретного сервиса может повлиять на работу компьютера или состояние ОС.

Как отключить ненужные службы в windows 10?

Открыв утилиту “Службы”, вы найдете десятки сервисов, отвечающих за те или иные компоненты операционной системы. Большинство из них крайне важны, другие же никоим образом не влияют на работоспособность Windows.

Отключить такие бесполезные службы довольно легко. Рассмотрим на примере сервиса “Факс”.

1. Откройте свойства этой службы.

2. Для начала выберите Тип запуска. Он может быть Автоматическим, Ручным или же вовсе Отключенным.

3. Если служба уже Активна или Отключена, вы можете вручную включить/отключить ее, щелкнув по соответствующим задаче клавишам: Запустить или Остановить.

4. Чтобы сохранить внесенные изменения, нажмите Применить.

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

Получив доступ к “Службам”, мы редко задумываемся над тем насколько некоторые из них важны и как серьезно их отключение или включение может повлиять на производительность компьютера и состояние Windows в целом. Поэтому, если вы решились отключить некоторые сервисы, убедитесь, что не деактивируете жизненно важные.

Надеемся, статья оказалась для вас полезной и помогла понять принципы запуска “Служб” и работы с ними.

Как открыть службы в windows 7? (services.msc)

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр Всем привет. Наступило лето, вернее оно должно быть, но его где-то носит, днем температура часто 16 градусов, а это как-то мало! Такое чувство что вместе с детством ушло в прошлое и лето. У вас такого не было чувства никогда? Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

Ребята, тема этой заметки небольшой, это как открыть окно со службами в Windows 7. Службы это такие… Короче не знаю что это, но самое подходящее слово, которое подходит к описанию, это слово служба. То есть это процесс который постоянно служит для чего-то, ну для какой-то задачи, цели.. Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

РЕКЛАМА

Как открыть службы? Я знаю несколько вариантов, но вам покажу основные. Первый вариант, простой, зажимаете кнопки Win R, и в окошке Выполнить указываете эту команду:

services.msc

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

РЕКЛАМА

Далее откроется окно со списком служб:

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

РЕКЛАМА

Просто так тут ничего не делайте, а то еще натворите делов! Кстати внизу есть две вкладки, Расширенный и Стандартный, так вот вторая вкладка включит более удобный вид Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

Это был первый способ и он наверно сложнее второго, ибо второй способ, это нужно вот что сделать, нажимаете правой кнопкой по панели задач и выбираете там пункт Диспетчер задач:

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

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

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

РЕКЛАМА

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

services.msc

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

РЕКЛАМА

Это уже можно назвать третьим способом. Службу остановить знаете как? Вот например есть служба DbxSvc (это Dropbox), чтобы ее остановить, то нужно нажать по ней два раза (в окне со службами) и потом в окошке нажать кнопку Остановить:

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

А чтобы она и не запускалась в будущем, то нужно выбрать в меню Тип запуска: Отключена, вот так все просто Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

Ну что, инфа была для вас ценной? Надеюсь что да, на этом все, удачи вам и хорошего настроения Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

На главную!службы29.06.2021

РЕКЛАМА

Конвейеры

В последнем примере мы применили знакомую пользователям оболочек для Unix-систем конструкцию. В Windows PowerShell вертикальная черта также позволяет передать выход одной команды на вход другой, но в реализации конвейера есть и существенная разница: речь здесь идет уже не о наборе символов или каком-то тексте.

Встроенные командлеты или пользовательские функции возвращают объекты или массивы объектов, а также могут получать их на входе. Как в Bourne shell и его многочисленных последователях, в PowerShell с помощью конвейера упрощается выполнение сложных задач.

Простейший пример конвейера выглядит так:

Get-Service | Sort-Object -property Status

Сначала выполняется командлет Get-Service, а потом все полученные им службы передаются на сортировку по свойству Status командлету Sort-Object. В какой именно аргумент передается результат работы предыдущего участка конвейера, зависит от его типа — обычно это InputObject. Подробнее этот вопрос будет рассматриваться в посвященной языку программирования PowerShell статье.

При желании цепочку можно продолжить и передать результат работы Sort-Object еще одному командлету (выполняться они будут слева направо). Кстати, пользователям Windows доступна и привычная всем юниксоидам конструкция для постраничного вывода: 

Get-Service | Sort-Object -property Status | more

Оболочка и среда разработки

Существует Windows PowerShell в двух ипостасях: помимо эмулятора консоли с командной оболочкой есть интегрированная среда сценариев (Integrated Scripting Environment — ISE). Чтобы получить доступ к интерфейсу командной строки достаточно выбрать соответствующий ярлык в меню Windows или запустить powershell.

:/>  Пропал рабочий стол в Windows 10

Для работы с оболочкой нужно запомнить некоторые сочетания клавиш:

F7 показывает окно с набранными командами и позволяет выбрать одну из них. В консоли также работает выделение текста мышью, копипаст, позиционирование курсора, удаление, backspace — все как мы любим.

Windows PowerShell ISE является полноценной средой разработки с поддерживающим вкладки и подсветку синтаксиса редактором кода, конструктором команд, встроенным отладчиком и другими программистскими радостями. Если в редакторе среды разработки после имени команды написать знак дефис, вы получите в выпадающем списке все доступные параметры с указанием типа. Запустить PowerShell ISE можно либо через ярлык из системного меню, либо с помощью исполняемого файла powershell_ise.exe.

С помощью папки инструменты windows

В Windows 10 ярлык приложения «Службы» находится внутри папки «Администрирование» Windows. В Windows 11 Microsoft решила объединить системные утилиты в единую папку Инструменты Windows.

  1. Нажмите кнопку «Пуск», затем щелкните «Все приложения».Windows 11 меню Пуск - все приложения
  2. В списке приложений найдите папку «Инструменты Windows» и откройте ее. Вы можете найти его быстрее с помощью алфавитной навигации.Папка Инструменты Windows в меню ПускВ новом окне прокрутите вниз и нажмите «Службы».Открыть службы Windows 11 из папки Инструменты Windows

Способ 1: окно «выполнить»

Через окно «Выполнить» можно открывать разнообразные директории и системные приложения, вводя в специальное поле адреса или кодовые названия программ. Это один из самых быстрых и удобных вариантов запуска «Служб» при условии, что пользователь запомнит, как эта оснастка именуется в Windows.

  1. Нажмите сочетание клавиш Win R.
  2. В открывшееся окошко впишите команду services.msc и нажмите Enter либо «ОК».
  3. Запуск приложения Службы через окно Выполнить в Windows 7

  4. Приложение «Службы» будет запущено.
  5. Запущенное приложение Службы в Windows 7

Способ 3. запуск с помощью команд

Большинство стандартных приложений операционной системы Windows 10 можно запускать с помощью ввода специальных команд. Поначалу их придется гуглить, но с опытом вы наверняка их все запомните.

Командой запуска утилиты “Службы” является: services.msc

1. Откройте меню Пуск, щелкнув по иконке Windows в левом нижнем углу.

2. В диалоговом окне введите команду services.msc.

3. Запустите найденное приложение.

Дополнительные способы.

Утилита “Выполнить”.

Альтернативным, и в большинстве случаев более удобным, средством запуска стандартных приложений является утилита Выполнить. Давайте рассмотрим ее применение:

1. Откройте утилиту Выполнить с помощью комбинации клавиш Windows R.

2. Введите команду services.msc и нажмите Enter.

По завершению выполнения инструкции, перед вами появится окно утилиты “Службы”.

“Командная строка”

Консольную утилиту Windows можно использовать не только как “средство от всех проблем” в операционной системе. С ее помощью также можно выполнять быстрый запуск стандартных приложений. Работает командная строка аналогично утилите “Выполнить”.

1. Откройте командную строку.

2. Введите команду services.msc и нажмите Enter.

Утилита “Службы” должна теперь запуститься.

“PowerShell”

PowerShell представляет собой улучшенную версию командной строки, которую по прежнему больше игнорируют, чем по-настоящему используют.

1. Запустите PowerShell любым удобным вам способом.

2. Введите команду services.msc и нажмите клавишу Enter.

“Диспетчер задач”

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

Приложение “Диспетчер задач” известно своими мониторинговыми особенностями, возможностью управлять процессами Windows и даже доступом к настройке автозагрузок. Однако, это далеко не весь ее потенциал.

При желании, вы можете открыть утилиту “Службы” путем запуска нового процесса.

1. Откройте Диспетчер задач.

2. Щелкните по клавише Файл и выберите опцию Запустить новую задачу.

3. В открывшемся диалоговом окне введите команду services.msc и нажмите Enter.

Способ 5: панель управления

Данный вариант, как и предыдущий, актуален далеко не для всех, а только при работе с «Панелью управления», иначе вы просто будете совершать больше манипуляций и кликов мышью, чем в перечисленных выше способах.

  1. В открытой «Панели управления» найдите значок «Администрирование» и нажмите по нему. Если тип просмотра установлен не «Значки», а «Категория», сперва перейдите в «Система и безопасность» и уже там в самом низу нажмите по выделенному большими буквами слову «Администрировании».
  2. Переход в Администрирование через Панель управления в Windows 7

  3. Из списка всех элементов найдите «Службы» и запустите это приложение.
  4. Запуск приложения Службы через папку Администрирование в Windows 7

Способ 6. конфигурация системы

Конфигурация системы — одна из важнейших утилит по настройке операционной системы: ее поведения и запуска. Если вы решите открыть “Службы” с помощью нее, то получите несколько ограниченный результат. Тем не менее, именно “Конфигурация системы” поможет быстро включать и отключать сервисы, в то время как работа через классическое приложение “Службы” может отнять значительно больше времени.

Чтобы открыть “Службы” с помощью утилиты “Конфигурация системы”, воспользуйтесь следующей инструкцией:

1. Откройте утилиту Выполнить с использование горячих клавиш Windows R.

2. Введите команду msconfig и нажмите Enter.

3. Перед вами появится окно утилиты Конфигурация системы.

4. Перейдите в раздел Службы.

5. Здесь вы найдете все интересующие вас сервисы.

Обратите внимание:
Если вы решились отключить некоторые службы, рекомендуем установить галочку рядом с опцией Не отображать службы Майкрософт. Таким образом вы обезопасите себя и компьютер от случайных действий, которые могут спровоцировать сбой системы.

Сценарии, функции, модули и язык powershell

Скрипты Windows PowerShell хранятся в виде обычных текстовых файлов с расширением .ps1. Запустить их двойным кликом нельзя: нужно правой кнопкой мыши вызвать контекстное меню и выбрать пункт «Запустить в PowerShell». Из консоли придется либо указать полный путь к скрипту, либо перейти в соответствующий каталог и написать имя файла.

Restricted — запуск сценариев запрещен (по умолчанию);AllSigned — разрешен только запуск подписанных доверенным разработчиком сценариев;RemoteSigned — разрешен запуск подписанных и собственных сценариев;

У администратора есть два варианта действий. Наиболее безопасный предполагает подписание скриптов, но это довольно серьезное колдунство — мы будем разбираться с ним в следующих статьях. Сейчас пойдем по пути наименьшего сопротивления и поменяем политику:

Set-ExecutionPolicy RemoteSigned

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

Пишутся скрипты на объектно-ориентированном языке программирования, команды которого именуются по тому же принципу, что и рассмотренные ранее командлеты: «Действие-Объект» («Глагол-Существительное»). Основное его предназначение — автоматизация задач администрирования, но это полноценный интерпретируемый язык, в котором есть все необходимые конструкции: условный переход, циклы, переменные, массивы, объекты, обработка ошибок и т.д. Для написания сценариев годится любой текстовый редактор, но удобнее всего запустить Windows PowerShell ISE.

В скрипт можно передавать параметры, делать их обязательными, а также задавать значения по умолчанию. Кроме того Windows PowerShell позволяет создать функции и вызывать их точно так же, как и командлеты: для этого используется конструкция Function и фигурные скобки.

Get-ChildItem Env:PSModulePath | Format-Table -AutoSize

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

Рекомендуется также ознакомиться со статьёй «Настройка рабочего окружения PowerShell в Windows и Linux».

PowerShell — это среда автоматизации задач и управления конфигурацией от Microsoft. В этом разделе мы познакомим вас с тем, как управлять службами Windows через PowerShell, поскольку это намного быстрее и эффективнее, чем другие методы.

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

:/>  Почему не запускаются игры на Windows 10

Вот подробное руководство по использованию PowerShell для управления службами Windows.

Запустите терминал PowerShell с правами администратора. Для этого нажмите Win x и выберите Windows PowerShell (администратор):


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

Get-Service

Это образец вывода, который вы получите.

В выводе по умолчанию вы увидите 3 основных раздела: Status (Статус), Name (Имя) и DisplayName (Отображаемое имя). Теперь, если вы хотите найти и перечислить конкретный сервис, вы можете отфильтровать любой из параметров.


Примеры.

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

Get-Service -Name wi*

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

Get-Service -DisplayName win*


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

Get-Service -ComputerName СЕРВЕР1

Важной частью управления услугами является управление зависимыми службами.

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

Get-Service -Name ИМЯ_СЛУЖБЫ -DependentServices

Например:

Get-Service -Name WSearch -DependentServices


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

Get-Service -Name ИМЯ_СЛУЖБЫ -RequiredServices

Например:

Get-Service -Name WSearch -RequiredServices

Таким образом, с помощью приведённых выше команд мы можем найти название службы, которая вам нужна, увидеть статус и связанные службы или их предварительные условия. Теперь рассмотрим команды управления службами.


Для остановки службы с помощью PowerShell вы можете использовать следующую команду:

Stop-Service -Name ИМЯ_СЛУЖБЫ

Например:

Stop-Service -Name Apache2.4

Последующие примеры будут показываться на службе Apache2.4. То есть в следующих командах замените «Apache2.4» на имя интересующей вас службы.

Для запуска службы в PowerShell вы можете использовать эту команду:

Start-Service -Name Apache2.4


Одной из наиболее часто используемых команд для работы со службами является команда перезапуска службы. Структура команды перезапуска службы такова:

Restart-Service -Name Apache2.4

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

Suspend-Service -Name Apache2.4

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

Set-Service -Name ИМЯ_СЛУЖБЫ -StartupType ТИП_ЗАПУСКА

В качестве ТИП_ЗАПУСКА могут быть:

  • Automatic — служба будет запущена или была запущена операционной системой при запуске системы. Если автоматически запускаемая служба зависит от запускаемой вручную службы, запускаемая вручную служба также запускается автоматически при запуске системы.
  • AutomaticDelayedStart — запускается вскоре после загрузки системы.
  • Disabled — служба отключена и не может быть запущена пользователем или приложением.
  • InvalidValue – не имеет никакого эффекта. Командлет не возвращает ошибку, но StartupType службы не изменяется.
  • Manual – служба запускается только вручную, пользователем, с помощью диспетчера управления службами или приложением.


Это наиболее часто используемые команды для управления службами в PowerShell. Для получения дополнительной информации о командах PowerShell и о том, как они работают, используйте команду Get-Help.

Например:

Get-Help *-Service
Get-Help New-Service

Связанные статьи:

Управление службами с помощью командной строки

Вы также можете использовать командную строку для запуска, остановки, приостановки, возобновления обслуживания. Чтобы использовать консоль, откройте командную строку или PowerShell с правами администратора и выполните одну из следующих команд.

Чтобы запустить службу:

net start СЛУЖБА


Например, для запуска службы mysql:

net start mysql

Чтобы остановить службу:

net stop СЛУЖБА

Например, для остановки службы mysql:

net stop mysql

Чтобы приостановить службу (не все службы возможно поставить на паузу!):

net pause СЛУЖБА


Чтобы возобновить службу:

net continue СЛУЖБА

Для отключения автозапуска службы:

sc config "ИМЯ_СЛУЖБЫ" start=disabled

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

sc config "mysql" start=disabled

Для включения автозапуска службы:

sc config "ИМЯ_СЛУЖБЫ" start=auto


Например, для включения автозапуска службы mysql:

sc config "mysql" start=auto

Перечисление состояний активных служб и драйверов

sc query

Перечисление только служб Win32

sc query type=service

Для просмотра состояния определённой службы:

sc query ИМЯ_СЛУЖБЫ


Например, чтобы увидеть состояние службы Apache2.4:

sc query Apache2.4

Устранение проблем с запуском «служб»

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

  1. Первое, что нужно предпринять в такой ситуации — попытаться выполнить восстановление системы, если эта функция включена в Windows 7. Используйте последнюю доступную точку восстановления. Новичкам, не выполнявшим ранее такую процедуру, советуем ознакомиться с нашей статьей по этой теме. Для этого перейдите по ссылке ниже и прочитайте информацию в Способе 1.

    Стартовое окно штатного инструмента восстановления системы в Windows 7

    Подробнее: Восстановление системы в Windows 7

  2. Следующим действенным вариантом станет использование консольной команды SFC, занимающейся поиском и восстановлением поврежденных системных файлов. Более подробно мы рассматривали эту процедуру в отдельном материале. Используйте ссылку ниже и Способ 1. Некоторым юзерам может подойти и Способ 2.

    Запуск утилиты SFC для сканирования системы на предмет наличия поврежденных файлов в Командной строке в Windows 7

    Подробнее: Восстановление системных файлов в Windows 7

  3. Порой системе не удается выполнить восстановление, из-за чего пользователю понадобится воспользоваться дополнительной командой для Командной строки, которая исправляет проблемы в хранилище резервных образов системных файлов. Развернуто об этом написано далее.

    Команда запуска DISM в командной строке

    Подробнее: Восстановление поврежденных компонентов в Windows 7 при помощи DISM

  4. После запуска утилиты DISM и успешного восстановления снова вернитесь к шагу 2 этой инструкции и попробуйте запустить команду SFC, поскольку DISM лишь только восстанавливает область, из которой SFC берет данные для исправления ошибок.
  5. В случае отсутствия положительной динамики проверьте свою операционную систему на наличие вирусов. Иногда как раз они блокируют запуск «Служб» и даже работу консольных команд SFC и DISM. О рабочих способах сканирования и удаления вирусов из Windows 7 нами была написана отдельная статья.

    Антивирусная утилита для лечения компьютера Kaspersky Virus Removal Tool

    Подробнее: Борьба с компьютерными вирусами

  6. Когда ничего не помогает, начинающему пользователю остается лишь прибегнуть к переустановке операционной системы. Эта процедура не так сложна, как может показаться на первый взгляд. Для всех, кто еще не сталкивался с ней, рекомендуем к ознакомлению отдельные руководства.

    Выбор языка и других параметров в приветственном окне установочного диска Windows 7

    Подробнее:
    Создаем загрузочную флешку с Windows 7
    Установка Windows 7 поверх Windows 7
    Переустанавливаем Windows 7 без диска и флешки

В большинстве случаев никаких проблем с запуском приложения «Службы» возникнуть не должно, но если это случилось, представленные рекомендации должны помочь их устранить.

Итоги

Корпорации Microsoft удалось создать действительно мощную командную оболочку с удобной интегрированной средой для разработки скриптов. От привычных нам по миру Unix средств ее отличает глубокая интеграция с операционными системами семейства Windows, а также с программным обеспечением для них и платформой .NET Core.

PowerShell можно назвать объектно ориентированной оболочкой, потому что командлеты и пользовательские функции возвращают объекты или массивы объектов и могут получать их на входе. Думаем, этим инструментом должны владеть все администраторы серверов на Windows: прошло время, когда они могли обойтись без командной строки. Продвинутая консольная оболочка особенно необходима на

, но это уже совсем другая история.

Часть 2: введение в язык программирования Windows PowerShell
Часть 3: передача параметров в скрипты и функции, создание командлетов
Часть 4: Работа с объектами, собственные классы

Управляем службами Windows с помощью PowerShell. Часть 6. Служебные учетные записи / Хабр

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

Adblock
detector