Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОС МПТ

.pdf
Скачиваний:
21
Добавлен:
25.03.2023
Размер:
5.25 Mб
Скачать

"System Backup" немедленно, игнорируя любые ограничения.

SCHTASKS /end /TN "System Backup" - снять задачу "System Backup"

schtasks /change /tn "\Microsoft\Windows\Application Experience\ProgramDataUpdater" /disable - отключить задание \Microsoft\Windows\Application Experience\ProgramDataUpdater

В заключение, приведу текст командного файла, позволяющего отключить или включить системные задания планировщика, полезность которых сомнительна. В комментариях, которые предшествуют команде schtasks представлено краткое описание задания, взятое из общих свойств задания, отображаемое в консоли управления. Для выполнения данного командного файла требуется запуск от имени администратора. Действие, выполняемое по отношению к заданиям планировщика определяется значением переменной task_action.

Команда set task_action=disable приведет к отключению заданий, set task_action=enable -

к включению. При выполнении команды schtasks, ее вывод сохраняется в файле журнала, имя которого соответствует имени командного файла, с расширением txt.

@echo off

Rem action - установка значение disable или enable set task_action=disable

REM Проверка наличия прав администратора

@WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege" > nul if %ERRORLEVEL% == 0 goto admin

echo Execution aborted. Run this batch file AS Administrator !!!

pause exit :admin

@echo try %task_action% scheduled tasks ...

rem Сбор и передача данных дистанционного отслеживания приложений (при явном согласии участвовать в

rem программе улучшения качества программного обеспечения). schtasks /change /tn "\Microsoft\Windows\Application Experience\AitAgent" /%task_action% >> %~dn0.log

rem Сбор телеметрических данных программы при участии в программе улучшения качества ПО

schtasks /change /tn "\Microsoft\Windows\Application Experience\ProgramDataUpdater" /%task_action% >> %~dn0.log

rem Эта задача собирает и загружает данные SQM при участии в программе улучшения качества

rem программного обеспечения.

schtasks /change /tn "\Microsoft\Windows\Autochk\Proxy" /%task_action% >> %~dn0.log

rem Если пользователь изъявил желание участвовать в программе по улучшению качества программного

rem обеспечения Windows, эта задача будет собирать и отправлять сведения о работе программного

rem обеспечения в Майкрософт.

schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /%task_action% >> %~dn0.log

rem При выполнении задачи программы улучшения качества ПО, выполняющейся в режиме ядра (Kernel

rem CEIP), осуществляется сбор дополнительных данных о системе, которые затем передаются в

rem корпорацию Майкрософт. Если пользователь не дал своего согласия на участие в данной программе,

rem то эта задача не выполняет никаких действий.

schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /%task_action% >> %~dn0.log

rem При выполнении задачи программы улучшения качества ПО шины USB (USB CEIP) осуществляется сбор

rem статистических данных об использовании универсальной последовательной шины USB и сведений о

rem компьютере, которые направляются инженерной группе Майкрософт по вопросам подключения устройств

rem в Windows. Полученные сведения используются для повышения надежности, стабильности и общей

rem производительности шины USB в Windows. При отсутствии согласия пользователя на участие в

rem программе улучшения программного обеспечения Windows задача не выполняет никаких действий.

schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /%task_action% >> %~dn0.log

rem Эта задача выполняет дефрагментацию жестких дисков компьютера.

schtasks /change /tn "\Microsoft\Windows\Defrag\ScheduledDefrag" /%task_action% >> %~dn0.log

rem Измеряет быстродействие и возможности системы

schtasks /change /tn "\Microsoft\Windows\Maintenance\WinSAT" /%task_action% >> %~dn0.log

REM Запуск приложений, настроенных для Windows HotStart

schtasks /change /tn "\Microsoft\Windows\MobilePC\HotStart" /%task_action% >> %~dn0.log

rem Это задание предназначено для анализа состояния системы и поиска условий, которые могут привести

rem к повышенному энергопотреблению.

schtasks /change /tn "\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem" /%task_action% >> %~dn0.log

rem Задача средства анализа стабильности системы, предназначенная для обработки данных о надежности

rem компьютера.

schtasks /change /tn "\Microsoft\Windows\RAC\RacTask" /%task_action% >> %~dn0.log

REM (Windows Live Social Object Extractor Engine) After installing Windows Live

Essentials 2011,

REM it creates a task called "Extractor Definitions Update Task". The purpose of this task is to

REM update the definition file for the Windows Live Social Object Extractor Engine. The task

REM can be found under, Task Scheduler Library\Microsoft\Windows Live\SOXE. - REM Read more at http://www.shouldiremoveit.com/windows-live-soxe-5304- program.aspx

schtasks /change /tn "\Microsoft\Windows Live\SOXE\Extractor Definitions Update Task" /%task_action% >> %~dn0.log

rem Эта запланированная задача предназначена для уведомления пользователя о том, что архивация

rem Windows не настроена.

schtasks /change /tn "\Microsoft\Windows\WindowsBackup\ConfigNotification" /%task_action% >> %~dn0.log

Учтите, что отключение системных заданий - небезопасная операция, и ее последствия целиком на вашей совести. Так, например, командный файл отключает задание на дефрагментацию файлов, которое не имеет смысла при использовании SSD-диска, но может быть полезным при использовании механических HDD. Кроме того, если вы посмотрите действия, выполняемые заданием дефрагментации, то увидите, что выполняется запуск программы %windir%\system32\defrag.exe –c, где -c - параметр, задающий выполнение дефрагментации на всех дисках. Может быть, имеет смысл создать несколько заданий с разными триггерами для разных дисков, исключив SSD. Можно также изменить парвметры существующей задачи, исключив дефрагментацию SSD - дисков:

defrag /E C: - выполнить дефрагментацию на всех локальных дисках, кроме диска C:

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

Задание:

1.Создайте простую задачу, в названии которой будет Ваша фамилия, которая будет запускаться ежедневно, открывать браузер и заходить на сайт mpt.ru

2.Создайте задачу, в названии которой будет Ваше имя, которая будет запускаться при загрузке ОС и выдавать приветствие в отдельном окне

3.Создайте задачу (название любое), которая будет выдавать сообщение о простое компьютера, при простое в 5 минут.

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

Министерство образования и науки Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего образования

"Российский экономический университет имени Г.В.Плеханова"

МОСКОВСКИЙ ПРИБОРОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ

ЛАБОРАТОРНАЯ РАБОТА № 8

«Базовые команды PowerShell»

(время на выполнение – 2 часа)

по дисциплине: ОП.04 Операционные системы

Составил: М.В.Синдикаев, преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова"

Цель работы - научиться использованию ключевых возможностей

Windows PowerShell для выполнения различных административных задач.

Теоретические сведения:

Задачи

 

 

 

Описание действий

 

 

 

1. На

a.

Авторизуйтесь на компьютере PC1 под учетной

компьютере

 

записью Administrator с паролем, заданным в предыдущей

PC1

 

лабораторной работе.

 

 

 

 

 

 

добавить

b.

Запустите Server Manager из меню Start. Раскройте вкладку и в

 

дереве консоли выберите объект Features.

компоненту

 

 

 

 

 

 

Windows

c.

Выберите пункт Добавить компоненты/ Add Features

 

 

 

 

 

PowerShell,

d.

В окне

Select

Features

поставьте флажок напротив

 

компоненты Windows PowerShell и нажмите Next.

 

 

используя Server

e.

В окне Confirm Installation Selections подтвердите

 

Manager.

 

установку, нажав "Установить/Install".

 

 

 

 

 

 

f.

Дождитесь окончания установки компоненты.

 

g.

После завершения установки отобразится итоговое окно. Новая

 

 

компонента успешно установлена. Закройте окно Installation

 

 

Results.

 

 

 

 

 

 

2. Запуск

a.

Запуск среды Windows PowerShell осуществляется следующим

среды Windows

 

образом Пуск (Start) ->Все Программы (All Programms) и

PowerShell

 

выбрать

элемент

Windows

PowerShell. Другой вариант запуска

 

 

оболочки - пункт Выполнить... (Run) в меню Пуск (Start), ввести

 

 

имя файла powershell и нажать кнопку ОК.

b.Выполним первую команду в PowerShell. Для первого знакомства с Windows PowerShell вполне подойдет команда help. Внимательно изучите выведенную на экран информацию.

c.Исполните из командной строки:

PS C:> Help Get-Command

В результате выполнения этой команды мы получим полное описание команды Get-Command, включая ее назначение, синтаксис, опции и т.п.

d.Выполните команду:

PS C:> Get-Command

На экран будет выведен список всех встроенных команд.

e.Просмотрите список всех сервисов, запущенных на вашем

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

PS C:> Get-Service

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

f.Просмотрите список всех процессов, запущенных в настоящий момент на вашем компьютере, исполнив команду:

PS C:> Get-Process

g.Для получения информации только об одном процессе в качестве аргумента команды Get-Process задается имя этого процесса. Выполните команду:

PS C:> Get-Process explorer

h.Из командной строки исполните команду:

PS C:> Get-Process w*

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

По умолчанию информация выводится в виде таблицы, но на самом деле все команды возвращают объекты. Эти объекты могут быть переданы на вход другим командам с помощью символа «|»

i.Исполните команду:

PS C:> Get-Process i* | format-list

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

PS C:> Help format*

Другие возможные форматы:

PS C:> Get-Process i* | format-wide

и

PS C:> Get-Process i* | format-custom

Выполняя команды, мы всегда получаем объекты, а у объектов есть свойства. Просмотрите все свойства объекта, полученного

при выполнении команды Get-Process используя следующую команду:

PS C:> Get-Process | Get-Member

j.Поскольку на выходе всегда получается объект, можно

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

PS C:> Get-Process | where {$_.handlecount -gt 400}

k.Выполните операцию сортировки, исполнив команду:

PS C:> Get-Process | where {$_.handlecount -gt 400} | sort-object Handles

l.Выполним команду Get-Process|Get-Member

Company — при форматировании по умолчанию невозможно получить желаемые данные. Преобразуем полученную команду в:

PS C:> Get-Process | Get-Member Company | Format-List

PS C:> Get-Process | sort-object Company | format-table -Group Company name, description, handles.

m.Произведем сортировку объектов по свойству WS (working set) и выбор 5 процессов, занимающих больше всего памяти

PS C:> Get-Process | sort-object -property WS –descending| selectobject -first 5

Команда stop-process позволяет остановить запущенный процесс.

Запустите Notepad на виртуальной машине. Выполните команду:

PS С:> Get-process notepad | stop-process

Окно Блокнота закроется. Снова запустите Notepad.

Такая возможность не всегда является безопасной, поэтому лучше использовать подобные команды с опцией whatif, которая показывает, что произойдет при выполнении той или иной команды, но на самом деле команда не выполняется:

PS C:> Get-Process notepad | stop-process -whatif

Кроме того, можно указывать на необходимость подтверждения перед выполнением команды:

PS C:> Get-Process notepad | stop-process -confirm

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

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

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

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

PS C:> get-executionpolicy

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

PS C:> set-executionpolicy <статус_политики>

Рассмотрим, какие статусы политики выполнения возможны:

Restricted - эта политика выполнения по умолчанию. Допускает отдельные команды, но сценарии выполнять нельзя.

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

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

Unrestricted - самая демократичная политика, позволяет запускать неподписанные сценарии. Сценарии и файлы конфигурации, загруженные из Интернета

(включая Microsoft Outlook, Outlook Express и Windows Messenger),

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

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

 

выполняются преимущественно сценарии собственного

 

написания, и AllSigned, когда выполняются сценарии, полученные

 

из внешних источников. Для нашего упражнения устанавливаем

 

статус политики Unrestricted либо RemoteSigned:

 

PS C:> Set-ExecutionPolicy Unrestricted

 

но после окончания тестирования не забудьте снова включить

 

данную опцию с помощью следующей команды:

 

PS C:> Set-ExecutionPolicy AllSigned

 

Для запуска скриптов psl достаточно просто набрать в командной

 

строке PowerShell имя файла.

 

 

3. Работа с

Одна из задач, с которой часто сталкиваются многие ИТспециалисты,

файловой

связана с манипуляциями с файлами, такими как копирование,

системой

перемещение, переименование, удаление файлов и каталогов. Разберем

 

основные команды Windows PowerShell, применяемые для манипуляций с

 

файловой системой: new-item, copy-item, move-item, rename-

 

item и remove-item.

a.Создадим новый подкаталог TextFiles в текущем каталоге:

PS C:> new-item TextFiles -itemtype directory

Если опустить параметр -itemtype, то Windows PowerShell спросит, что мы создаем —

файл (file) или каталог (directory). Отметим, что у команды newitem есть алиас — ni. В сокращенном виде наша первая команда будет выглядеть так:

PS C:> ni TextFiles -itemtype directory

b.Создайте несколько новых файлов в текущем каталоге psdemo.txt, 1.txt, 2.txt:

c.Скопируем все файлы с расширением *.txt в

подкаталог TextFiles, используя команду copy-item (алиасы — cpi, cp,

сору):

Если применять данную команду в пакетном файле, имеет смысл сделать ее более понятной, указав параметры -path (источник) и -

destination (приемник):

PS C:>copy-item -path '.\*.txt' -destination '.\TextFiles'

d. После выполнения команды копирования мы используем команду setlocation для перехода в подкаталог TextFiles.

PS C:> set-location TextFiles

e.С помощью команды rename-item переименовываем

файл psdemo.txt в psdemo.bak. При необходимости можно применять опции -path и -newName:

PS C:> rename-item psdemo.txt psdemo.bak

f. После того как файл переименован, переносим его на один уровень вверх, используя команду move-item:

PS C:> move-item psdemo.bak ..\

g. Затем применяем команду set-location, а точнее — ее алиас sl для перехода в другой каталог:

PS C:> sl ..

1.h. Манипуляции с файловой системой мы завершаем удалением всего каталога TextFiles, используя команду removeitem. Поскольку в каталоге TextFiles содержатся файлы, применяется опция -recurse. Если эта опция не указана, Windows PowerShell запросит подтверждение перед выполнением команды remove-item.

PS C:> remove-item TextFiles -recurse

4. Работа с

При выполнении различных настроек и попытках обнаружения каких-

реестром

либо параметров нам иногда приходится обращаться к системному

 

реестру в поисках ключей, значений и т.п. С использованием

 

возможностей Windows PowerShell эта задача может быть решена

 

достаточно простым способом. Давайте рассмотрим пример работы с

 

реестром из среды PowerShell, в котором найдем и скопируем все

 

данные, содержащие строку «PowerShell», а затем выведем первые два

 

найденных объекта.

 

a. Наша первая команда использует алиас sl для выполнения

 

команды set-location, изменяющей наше текущее местоположение с

 

файловой системы на ветвь

 

HKEY_CURRENT_USER в системном реестре:

 

PS C:\> sl hkcu:

 

Отметим, что, как и в случае работы с файловой

 

системой, PowerShell применяет специальный провайдер для доступа к

 

реестру.

 

b. Следующая команда загружает содержимое всей ветви

 

реестра HKEY_CURRENT_USER в переменную reg:

 

PS HKCU:\> $reg = gci . -rec -ea silentlycontinue

 

Для этого мы используем команду get-childitem (алиас — gci). Первый

 

аргумент этой команды — «.» — указывает на то, что мы хотим получить

 

содержимое текущей ветви реестра —

 

HKEY_CURRENT_USER. Второй аргумент является сокращением от

 

опции -recurse и указывает на то, что нам нужен рекурсивный сбор

 

данных из всех подветвей текущей ветви реестра. И наконец, третий

 

аргумент -ea silentlycontinue — указывает на то, что команда должна

 

продолжать выполняться даже в случае возникновения ошибок,

 

связанных с недостатком прав доступа к определенным подветвям

Соседние файлы в предмете Современные операционные системы