МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
канд. тех. наук, доцент |
|
|
|
Аграновский А. В. |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №5 |
Разработка командлетов PowerShell
|
по дисциплине: Операционные системы |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
Кафка Р. С. |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Шифр ИНДО |
|
Санкт-Петербург 2022
Цель работы: изучение командлетов PowerShell
Порядок выполнения работы:
Изучить методические указания подраздела 2.3.
Выполнить все упражнения.
Результат выполнения зафиксировать на скриншотах.
Выполнить задания для самостоятельного изучения.
Сделать выводы о проделанной работе.
Задания для самостоятельного изучения:
Из приведённого в методичке списка выбрать три командлета, изучить возможности их применения и привести примеры использования. При желании можно выбрать любые другие командлеты, примеры работы которых не рассмотрены в методических указаниях.
Результаты зафиксировать на скриншотах.
Вариант №9
Номер первого командлета: 9
Get-History – возвращает список команд, введенных в ходе текущей сессии.
Номер второго командлета: 12
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Номер третьего командлета: 21
Start-Process – запускает один или несколько процессов на компьютере;
Выполненные упражнения
Упражнение 2.5. Командлет Get-Service.
Посмотрел службы, которые активны на компьютере:
Пуск > Панель управления > Система и безопасность > Администрирование > Службы (рис.1)
Рисунок 1 – Активные службы
Напишисал команду, позволяющую определять состояние процессов подсистемы управления печатью Spooler (Диспетчер очереди печати) (рис.2) и состояние службы автоматического подключения к беспроводной сети wwansvc.
> Get-Service wwansvc, spooler
Рисунок 2 – Состояние процессов подсистемы управления печатью Spooler
В результате выполнения команды выведена таблица со статусом службы, ее
именем и отображаемым именем. В частности, на рис. 3 видно, что служба
spooler запущена, а wwansvc остановлена.
Рисунок 3 – Результат выполнения команды Get-Service wwansvc, spooler
Упражнение 2.6. Сортировка служб по статусу запущен или остановлен
Отсортировал запущенные службы по статусу с использованием конвейера.
> Get-Service | Sort-Object -property Status
Результат зафиксировал на скриншоте (рис.4).
Рисунок 4 – Результат выполнения команды Get-Service | Sort-Object -property Status
Упражнение 2.7. Командлет Get-Process.
В командной строке PowerShell набрал
> Get-Process
Изучил результат выполнения команды (рис.5)
Рисунок 5 – Характеристики активных процессы
Использовал конвейер из двух командлетов для выяснения полной структуры
объекта (рис.6).
>Get-Process | Get-Member
Рисунок 6 – Результат выполнения команды Get-Process | Get-Member
Добавил в конвейер командной строки командлетом Out-Host с параметром –Paging, позволяющий отображать процессы в системе одновременно на одной странице (рис.7).
>Get-Process | Get-Member | Out-Host –Paging
Рисунок 7 – Результат выполнения команды Get-Process | Get-Member | Out-Host –Paging
Упражнение 2.8. Создание списков процессов
Создал список всех процессов и отсортировал его в порядке убывания в соответствии с используемым временем процессора.
>Get-Process | Sort-Object CPU
Результат ее выполнения показан на рис. 8.
Рисунок 8 – Сортировка процессов в порядке возрастания
Создал список первых 5 процессов по используемому времени процессора. Для этого добавил команду Select-Object. Использовал параметры -First x и -Last y, с помощью которых можно узнать первые x или последние y объектов списка, например Select-Object -First 5.
Командлет Select-Object ожидает исходных данных, передаваемых через конвейер:
>Get-Process | Sort-Object CPU | Select-Object –First 5
Результат выполнения команды представлен на рис.9.
Рисунок 9 – Список первых 5 процессов по используемому времени процессора
Ввёл и сохранил результат в переменной $a. Это позволит в любое время получать доступ к списку (рис.10).
> $a = Get-Process | Sort-Object CPU | Select-Object –First 5
Рисунок 10 – Вывод списка с использованием переменной
Упражнение 2.9. Подсчет количества объектов.
Подсчитал количество объектов с помощью команды (рис.11):
>Get-Process | Measure-Object
Рисунок 11 – Количество активных процессов
Показал, что в качестве выходных данных Measure-Object выступают какие-либо числовые значения объектов, а не процессы (рис.12):
>Get-Process | Measure-Object | Get-Member
Это означает, что после обработки командлетом Measure-Object у всех остаются лишь числовые показатели их значений.
Рисунок 12 – Результат действий командлета Measure-Object
Измерил объём виртуальной памяти, занимаемой активными процессами.
Для этого указал несколько составных значений и имя свойства (рис.13):
>Get-Process | Measure-Object –property VM –average –sum –minimum –maximum
Рисунок 13 – Размеры виртуальной памяти, занимаемой активными процессами
Подсчитал количества активных процессов с помощью командлета Measure-Object и вывел в текстовый файл список свойств процесса, возвращаемый командлетом Get-Process, а на экран ‒ их общее количество (рис.14-15). Предварительно создал текстовый файл на выбранном диске.
>Get-Process -id 0 | Get-Member -MemberType Property | Select-Object name | Tee-Object -FilePath F:\Property.txt | Measure-Object
Рисунок 14 – Результат выполнения конвейера в среде PowerShell
Рисунок 15 – Данные о количестве активных процессов в текстовом файле Property.txt
Упражнение 2.10. Чтение содержимого текстовых файлов
Подготовил текстовый файл F:\Sweets.txt (рис.16)
Рисунок 16 – Данные файла Sweets.txt
Написал в командной строке PowerShell
> Get-Content F:\Sweets.txt
Сравнил полученный результат с содержимым текстового файла (рис.17)
Рисунок 17 – Результат выполнения командлета Get-Content
Получил полную информацию о возможностях данного командлета, задав команду (рис.18).
> Get-Help Get-Content -Detailed
Рисунок 18 – Результат выполнения команды Get-Help Get-Content -Detailed
Упражнение 2.11. Запись текста в файл
Набрал в командной строке PowerShell.
>"Hello World!"| Out-File F:\test.txt
Полученный результат представлен на рис.19.
Рисунок 19 –Запись в текстовый файл