Самоучитель системного администратора. 5-е изд



Pdf көрінісі
бет68/141
Дата18.12.2023
өлшемі20,51 Mb.
#197526
1   ...   64   65   66   67   68   69   70   71   ...   141
Байланысты:
Cамоучитель системного администратора книга


Глава 6 
Set colListOfServices = GetObject("winmgmts:").ExecQuery _ 
("Select * from Win32_Service Where State = 'Stopped' and _ 
StartMode = 'Automatic'") 
For Each strService in colListOfServices 
strService.StartService() 
Next 
Первая строка кода создает коллекцию объектов, удовлетворяющих условию 
выборки, заданному в WQL-запросе. Этот запрос выбирает все службы, для ко-
торых установлен автоматический режим запуска и которые в настоящий мо-
мент остановлены. Пятая строка кода организует цикл, выполняющий метод за-
пуска служб, найденных на предыдущем этапе. 
Для этого сценария можно установить автоматический запуск через определен-
ные промежутки времени, чтобы гарантировать работу всех служб компьютера. 
В свойствах службы есть опция восстановления, в которой можно задать пара-
метры перезапуска службы после ее аварийной остановки. Однако если служба 
по тем или иным причинам не стартовала при запуске системы или была оста-
новлена вручную, то автоматически она также не будет запущена. Приведенный 
в примере код позволяет автоматически находить такие службы и запускать их. 
PowerShell 
PowerShell представляет собой средство, разработанное Microsoft для автоматиза-
ции различных задач и состоящее из интерпретатора и языка высокого уровня. 
PowerShell входит в состав Windows 7/8/10 и Windows Server 2008/2012/2016, но 
также может быть загружен и для предыдущих версий. Язык PowerShell реализован 
на Microsoft .NET Framework и интегрирует в себя доступ к WMI, COM и ADSI. 
Сценарии PowerShell составляются из 
командлетов
(cmdlet). Командлет объединя-
ет в себе команду и объект, над которым она выполняется, и обычно называется по 
принципу глагол-объект. Например, командлет Get-Content возвратит (
get
) содер-
жимое (
content
) того элемента, который будет указан в параметрах. Так, команда 
Get-Content c:\test.txt 
выведет на экран содержимое файла 
c:\test.txt

PowerShell поддерживает перенаправление вывода, которое получило в его интер-
претаторе название 
конвейера
. Поддерживаются регулярные выражения, обработка 
условий — в общем, все те функции, которые присущи современным языкам про-
граммирования. 
Например, следующий сценарий выведет на экран список созданных в течение по-
следнего дня файлов: 
get-childitem c:\ -R |? {$_.creationtime -gt $(get-date).adddays(-1)} 
Первый командлет возвращает список всех файлов на диске 
С:
(ключ 
R
выполняет 
рекурсивный поиск), полученные данные передаются на обработку, сценарий вы-
бирает параметр 
creationtime
(дату создания) и сравнивает его с текущей датой 
минус 1 день. Этот сценарий можно модифицировать — например, изменить маску 


Управление информационной системой 
273 
и выбирать файлы журналов (
-Filter*.log
), сменить условие (меньше — 
lt
) и пе-
ренаправить вывод на команду удаления (
% {del
$_}
). Таким образом можно авто-
матически удалять с компьютера устаревшие журналы, если эту команду настроить 
на автоматическое выполнение. 
Помимо командной строки интерпретатора в последних версиях PowerShell появи-
лась и графическая среда — интегрированная среда сценариев ISE (Integrated Script 
Environment) Windows PowerShell. Это приложение, в котором можно выполнять 
команды PowerShell, создавать, тестировать и отлаживать скрипты с использовани-
ем удобного графического интерфейса (рис. 6.12).
Рис. 6.12. 
Интегрированная среда сценариев PowerShell (Windows Server 2016) 
Обратите внимание, что, начиная работать с PowerShell, желательно настроить 
личный профиль — сценарий, который исполняется при каждом открытии интер-
претатора. В этом профиле можно определить такие настройки, как локальный 
путь, параметры безопасности, синонимы (сокращения для часто употребляемых 
команд) и т. п. 


274 

Достарыңызбен бөлісу:
1   ...   64   65   66   67   68   69   70   71   ...   141




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет