Вы находитесь на странице: 1из 4

Windows PowerShell – ExitTask – Alex Kudelko – Report

1. Вывести список файлов *.log, хранящихся в папке C:\Windows. Вывод организовать в виде
таблицы с обратной сортировкой по имени файла, при этом выводить полное имя файла, размер
файла, время создания.

Get-ChildItem C:\Windows |
Where-Object { ($_.name -like "*.log") } |
Select-Object Name, Length, LastWriteTime |
Sort-Object Name -descending | Format-Table

2. Вывести список файлов *.log, хранящихся в папке C:\Windows. Вывод организовать с


обратной сортировкой по имени файла, при этом выводить полное имя файла, размер файла,
время создания. Если файл больше 100Кб, выводить его красным цветом.

cd C:\Windows;
foreach ($b in Get-ChildItem c:\windows)
{
if ($b.name -like "*.log")
{
if ($b.length -gt 100KB)
{
Write-Host -b red $b.name, $b.length, $b.LastWriteTime
}
else
{
$b.name, $b.length, $b.LastWriteTime
}
}
Sort-Object name -descending | Format-Table
}
3. Создать функцию вывода всех чисел на интервале от А до В, делящихся без остатка на 3,
где А и В — входные параметры.

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


функцию, которая хоть, возможно, и «коряво», но это делает 

function NumberDivisionThree([int]$a,[int]$b)

{
# Проверка корректности ввода данных. Нужно, чтобы a < b #

if ($b -le $a) { return "Please, input correct data: a < b " }

# Проверяем интервал на наличие чисел, используя преобразование типов #

if ($b-$a -eq 1 -AND [int]($a/3) -ne $a/3 -AND [int] ( $b/3) -ne $b/3)
{ return "The interval is too little!" }

#Определение в интервале наименьшего числа, которое делится на 3 #

if ( [int] ( ( $a+2 )/3 ) -eq ( $a+2 )/3 ) { $a=$a+2 }


elseif ([int] ( ($a+1 )/3 ) -eq ( $a+1 )/3 ) { $a=$a+1 }
else { }

# Выводим нужные нам по заданию числа

For ($a; $a –le $b; $a+=3 )


{ $a }
}

Вызываем нашу функцию, написав в PowerShell её имя (NumberDivisionThree) и указав


входные параметры. Хотим отобразить, к примеру, числа, делящиеся без остатка на 3, в
интервале от 5 до 26:

4. Вывести список USB-устройств, зарегистрированных в системе на удалённом компьютере.


Результат представить в виде файла XML.

Get-WmiObject CIM_USBDevice Name | Export-CliXML C:\USB-Info.xml


5. Создать файл-сценарий вывода всех запущенных на комьютере служб. И запустить его на
выполнение.

Устанавливаем на нашем ПК возможность запуска скриптов:

Set-ExecutionPolicy AllSigned

Создаём скрипт с кодом, приведённым ниже, и сохраняем его через команду Save as на
жёстком диске по пути D:/Untitled1.ps1 :

Get-Service | Where-Object { ($_.Status -eq 'Running' ) } | Select-Object Name,


DisplayName | Format-Table

Чтобы запустить скрипт на выполнение, открываем оболочку PowerShell и прописываем


полный путь расположения скрипта:

D:/Untitled1.ps1

Результат выполнения приведен на рисунке.

6. Добавить учётную запись в AD, вывести список всех учётных записей в файл CSV, удалить
созданную учётную запись. (Учётная запись должна содержать не менее пяти полей).

Добавляем нового пользователя:

New-ADUser
-Name Aleksandr
-Surname 'Kudelko'
-CannotChangePassword $True
-DisplayName 'Aleksandr Kudelko'
-Office 'Minsk'
-Organization 'BSUIR FITM gr.822402'
-UserPrincipalName 'Solovey-ka'

Выводим список всех учётных записей в файл CSV:

Get-ADUser -Filter * | Export-CSV D:\ADUsers-Info.csv

Удаляем созданную учётную запись:

Remove-ADUSer –Identity Aleksandr