ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.06.2024
Просмотров: 14
Скачиваний: 0
Поява в Windows Server 2008 R2 мови PowerShell змінило ситуацію на краще. Використовуючи PowerShell, можна легко виконати практично будь-яке завдання системного адміністратора.
Рис. 1.8.6 Запуск віртуальної машини.
Рис. 1.8.7 Керування віртуальною машиною.
Мова PowerShell об'єктно-орієнтована, вона використовує елементи Perl, PHP, C# та
.NET Framework. Результат виконання команди не потребує додаткового опрацювання.
PowerShell має доступ до файлової системи, реєстру, мережі, Active Directory, ролей та
компонентів сервера. В оболонку PowerShell вбудовано понад 150 команд, є можливість ство-
рювати додаткові команди.
PowerShell може використовувати так звані командлети.
Командлет – це командний модуль, готова підпрограма для виконання окремої операції.
Командлети помітно спрощують роботу з PowerShell.
9. Структура команд PowerShell.
Синтаксис командної оболонки PowerShell може здатися трохи заплутаним, але насправді все побудовано зрозуміло та логічно. Всі назви командлетів стандартизовані, імена мають формат «дія - об'єкт», наприклад:
Get-* (отримати дані об'єкту); Set-* (встановити);
Out-* (вивести);
Stop-* (зупинити).
Список всіх доступних команд можна проглянути, виконавши Get-Command, отримати до-
помогу - Get-Help
Наприклад, переглянемо список системних процесів, відсортуємо їх по використанню процесорного часу за спаданням і виберемо з них десять, які найбільше завантажують систему (рис. 1.8.8):
PS> Get-Process | Sort-Object CPU -Descending | Select -First 10
Рис. 1.8.8 Переглядаємо 10 «найненажерливіших» системних процесів за допомогою PowerShell.
При наборі команд працює автодоповнення (клавіша «Tab»), є також можливість ко-
піювання та вставки клацанням правої кнопки миші.
Для виведення доступнихдисківсервера використаємокомандлетGet-PSDrive (рис. 1.8.9):
PS> Get-PSDrive
Рис. 1.8.9 Отримуємо список дисків за допомогою PowerShell.
Зверніть увагу, що в списку на рисунку 1.8.9 показані вітки реєстру HKCU та HKLM, до яких можна звернутися як до звичайного диска. Наприклад, переміщуватися по вибраній вітці можна за допомогою команди cd, отримувати список підвіток за допомогою команди dir:
PS> cd HKLM: PS HKLM> dir
Для PowerShell програмісти розробили велику кількість командлетів, які знаходяться на сайті співтовариства PowerShell
http://powershellcommunity.org/Scripts/tabid/81/Default.aspx
В папці Windows теж є декілька готових командлетів.
10.Форматування виведення результатів PowerShell.
Переглядати велику кількість результатів досить важко. Але в PowerShell можна виділи-
ти результат кольором, зробивши його помітнішим. Для цього використовується командлет Write-Host, в якому використовується два параметра:
-Backgroundcolor (колір фону ); -Foregroundcolor (колір тексту).
Наприклад (команду потрібно набрати в одному рядку):
PS> Get-Process | Write-Host -foregroundcolor DarkGreen -backgroundcolor white
В результаті отримаємо список процесів на білому фоні зеленими буквами. Є також командлети для привертання уваги під час виведення результатів:
Write-Warning
Write-Error
Наприклад:
PS> Write-Warning ”Access denied”
Нерідко виведені результати не поміщаються на екрані. Для їх послідовного перегляду без прокручування можна застосувати командлет Out-Host з параметром -paging:
PS> Get-Process | Out-Host –paging
Також для виведення результатів використовують наступні командлети:
Clear-Host (очищення екрану); Write-Progress (виведення ходу виконання).
11. Робота з журналом системних подій за допомогою PowerShell.
PowerShell має цілий ряд командлетів *-Eventlog, які читають записи в журналі системних подій. Причому, дані легко сортуються та фільтруються за потрібними критеріями.
Наприклад, для виведення останніх подій із журналу безпеки на локальному комп'ютері використаємо параметр Nevest з чисельним аргументом:
PS> Get-Eventlog Security -Nevest 20 -computername localhost
А тепер виведемо події про системні помилки (рис. 1.8.10):
PS> Get-Eventlog Security -Message "*failed*"
Рис. 1.8.10 Виводимо події про системні помилки за допомогою PowerShell.
12. Режим Server Core.
Починаючи з Windows Server 2008, операційну систему можна встановити без графічного середовища.
Чому розробники прийняли таке рішення? Графічний інтерфейс полегшує роботу ко-
ристувача клієнтського комп’ютера, але для сервера він не завжди потрібний. Сервер
безперебійно працює, його налаштування виконуються нечасто. Крім того, графічна система підвищує вимоги до апаратної конфігурації сервера, водночас зменшуючи його надійність та безпеку.
Поява режиму Server Core все змінила. Тепер можна встановити систему без графічного інтерфейсу з мінімальним набором компонентів.
Така система має велику захищеність в порівнянні з повним варіантом. Вона
потребує для установки всього 1 Гбайт вільного місця на жорсткому диску та 512 Мбайт оперативної пам'яті. Розмір системних оновлень Server Core також невеликий.
Єдиний недолік: Server Core має не всі ролі, а деякі з них мають обмежені функції.
Незважаючи на деякі обмеження, Server Core виконує основні функції серверної системи.
13. Установка Windows Server в режимі Server Core.
Для установки операційної системи в режимі Server Core необхідно вибрати пункт
«Server Core Installation».
Установка в режимі Server Core практично не відрізняється від звичайної установки
Windows Server 2008 R2 і займає приблизно 10 хвилин.
У найпершому вікні необхідно залишити англійську розкладку клавіатури, оскільки систем-
ний адміністратор працюватиме в консольному режимі (рис. 1.8.11).
Рис. 1.8.11 Інтерфейс роботи Server Core.
Перед установкою слід чітко визначитися з необхідними ролями та компонентами.
Потрібно пам’ятати, що оновити попередню версію системи до Server Core не мож-
на, вона встановлюється «з нуля». Також не можна перейти від Server Core до графічного варіанту (як і навпаки).
Після установки натискаємо комбінацію клавіш Ctrl+Alt+Del і клацаємо по значку
«Other User».
Входимо в систему з обліковим записом Administrator та пустим паролем, який на наступному кроці необхідно змінити.
Пам’ятайте, що прості паролі заборонені політиками безпеки.
14. Основні налаштування Server Core.
Початкова конфігурація сервера задається за допомогою командного рядка. Потім сер-
вером можна керувати віддалено за допомогою підключення до сервера терміналів або
інших інструментів.
Для зручності всі команди можна записати в текстовий файл, а потім використати його для налаштування інших серверів.
Windows Server 2008 R2 має також скрипт SCONFIG.cmd (рис. 1.8.12), за допомо-
гою якого в інтерактивному режимі виконуються основні налаштування сервера.
Для роботи з SCONFIG.cmd необхідно виконати наступну команду:
> sconfig
та вибрати відповідний пункт (рис. 1.8.12).
Рис. 1.8.12 Інтерактивний скрипт SCONFIG
Наприклад, для установки імені сервера натискаємо «2» (Computer Name), вводи-
мо нове ім'я та перезавантажуємо систему. Аналогічно налаштовуємо інші параметри.
Проте, декілька графічних додатків Server Core все ж таки має.
Наприклад, натиснувши комбінацію клавіш Ctrl+Shift+Esc, можна запустити Диспет-
чер задач.
Набравши в консолі команду notepad, запустимо Блокнот.
Виконати активацію системи можна під час установки або в робочій системі за допомогою команд:
>slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
>slmgr.vbs -ato
(де Х - цифри ліцензійного ключа).
Якщо однієї консолі для роботи замало, слід набрати start і запустити другу консоль.
Для зміни пароля адміністратора виконують наступні команди:
>net user administrator *
>net user administrator новий пароль
Зірочку використовують для того, щоб введені символи не відображалися на екрані.
Для зміни пароля можна натиснути Ctrl+Alt+Del та вибрати пункт «Change а password» («Змінити пароль»).
Мережеві налаштування переглядають за допомогою наступної команди: ipconfig /all
Призначити статичну IP-адресу серверу можна за допомогою утиліти netsh
Спочатку виведемо список мережевих інтерфейсів (рис. 1.8.13):
> netsh interface ipv4 show interfaces
Рис. 1.8.13 Список мережевих інтерфейсів Server Core
Аналізуючи рисунок 1.8.13, робимо висновок, що сервер має один фізичний мережевий адаптер з номером Idx = 3.
Надамо серверу IP-адресу 192.168.1.5, шлюзу - 192.168.1.4:
>netsh interface ipv4 set address name="3" source=static address=192.168.1.5 mask=255.255.255.0 gateway=192.168.1.4
Обов'язково вкажемо IP-адресу першого DNS-сервера:
>netsh interface ipv4 add dnsserver name="3" address=192.168.1.5 index=1
(іndex=1 – це номер DNS-сервера, для другого DNS-сервера потрібно набрати іndex=2).
Для виведення імені сервера використовують команду hostname Для зміни імені сервера використовується утиліта netdom:
> netdom renamecomputer старе ім'я /NewName: Server
Після цієї операції потрібне перезавантаження:
> shutdown – r – t 0
Тепер введемо наш Server у домен office.com:
> netdom join Server /domain:office.com /userd:SysAdmin /password:Pa$$word
Деякі налаштування Server Core виконуються за допомогою команди control з
аргументом .cpl (Control Panel Library).
Наприклад, для відкриття вікна налаштування дати і часу потрібно ввести команду
> control timedate.cpl
Для відкриття вікна регіональних налаштувань виконують команду
> control intl.cpl
В папці с:\Windows\System32 знаходиться ще один корисний скрипт: scregedit.wsf
Він дозволяє виконати деякі важливі налаштування.
Наприклад, для активізації автоматичного оновлення системи необхідно виконати:
> cscript \windows\system32\scregedit.wsf /AU 4
Відключити автоматичне оновлення також просто:
> cscript scregedit.wsf /AU 1
Дозволити віддалене керування сервером за протоколом RDP можна так:
>cscript scregedit.wsf /AR 0
>netsh advfirewall firewall add rule name=”TS Admin” protocol=TCP dir=in localport=3389 action=allow
>cscript scregedit.wsf /CS 0
В цьому записі друга команда дозволяє мережевому екрану Windows Firewall з’єднання за протоколом RDP на порту 3389, а третя - використовувати небезпечні підключення термінального сервісу.
Необхідно зазначити, що в Server Core через 10 хвилин бездіяльності користувача
вмикається парольний захист для екранних заставок. Це не завжди зручно, тому для його відклю-
чення необхідно запустити програму regedt32 і встановити наступне значення ключа:
HKCU\ControlPanel\Desktop\ScreenSaveActive= 0