Використання PowerShell для домашніх користувачів - Посібник для початківців

Admin

Хто не хоче, щоб вони були чарівником і вимовили кілька слів, щоб відбулися чарівні речі? Ну, ми не можемо показати вам, як бути майстром, але ми можемо показати вам, як творити маленьку комп’ютерну магію.

Якщо у вас є комп’ютер з ОС Windows 7 на ньому, у вас є PowerShell. Крім того, якщо у вас є комп’ютер із Windows 7, оновіть його заради безпеки.

Зміст

Але ця стаття призначена не лише для користувачів Windows. Остання версія PowerShell безкоштовна, її можна встановити та використовувати на комп’ютерах Mac та Linux.

Це важливо, оскільки те, що ви дізналися про PowerShell, зараз можна використовувати практично на будь -якому комп’ютері. Хто знає? Ви можете підняти цю майстерність на новий рівень і розпочати кар’єру в галузі інформаційних технологій.

Що таке PowerShell?

Високотехнологічна відповідь Microsoft полягає в тому, що це «… оболонка командного рядка, розроблена спеціально для системних адміністраторів». Звучить лякаюче. Але це не так. Ви дбаєте про свій комп’ютер? Так, тоді ви системний адміністратор у вашому домі.

Ви підказуєте своєму комп’ютеру, що робити з клацаннями та натисканням клавіш? Так, так що думайте про оболонку командного рядка як про чергове вікно, у якому ви вводите речі, щоб підказати своєму комп’ютеру, що робити. Ви можете це зробити.

PowerShell схожий на мову програмування, але не такий загадковий, як більшість. Він справді багато читає, як звичайна англійська, чого Microsoft прагнула, щоб його могли забрати непрограмісти.

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

Що можна зробити за допомогою PowerShell?

Суть PowerShell на високому рівні-це можливість автоматизувати завдання, тому вам не доведеться витрачати свій час на багаторазові повсякденні справи. Для професійного системного адміністратора це може бути щось на кшталт створення нових користувачів, створення паролів для них та надсилання електронного листа з деталями їх новому керівнику.

Здійснений вручну, за допомогою клацань та набору тексту, цей процес може зайняти від 5 хвилин до години або більше. За допомогою правильних сценаріїв системному адміністратору, можливо, навіть не доведеться це робити.

Але ви хочете знати, що ви можете зробити з PowerShell вдома. Майже все, що вам не подобається робити знову і знову. Використовуйте його, щоб звільнити місце на жорсткому диску, видаливши тимчасові файли та файли журналу, які вам не потрібні.

Введіть комендантську годину на комп’ютері вашої дитини. Перейменуйте або упорядкуйте купу файлів. У цьому краса PowerShell. Майже все, що ви можете зробити на своєму комп’ютері, ви можете створити сценарій PowerShell для автоматизації та запуску за допомогою клацання миші або за розкладом.

Як використовувати PowerShell?

Найпростіший спосіб працювати з PowerShell - це Інтегроване середовище сценаріїв PowerShell (ISE). Ви можете знайти його, натиснувши кнопку Пуск і ввівши текст powerhell ise у рядку пошуку в Windows 10. Ви повинні побачити це, як показано нижче.

Вперше, коли ми його використовуємо, ми будемо запускати його як адміністратор. Для цього спочатку потрібно мати права адміністратора на своєму комп’ютері. У вашій Меню Пуск, клацніть правою кнопкою миші PowerShell ISE, потім натисніть Запустити від імені адміністратора.

Ви можете отримати a Користувач. Управління доступом (UAC) спливаюче вікно із запитом, чи впевнені, що хочете це зробити. це. Натисніть Так.

Тепер ви дивитесь на PowerShell IDE. Верхня панель вікна (1) це панель сценаріїв. Тут ви напишете свій сценарій. Нижня панель вікна (2) - це область консолі. Під час тестування сценарію ви побачите результат на цій панелі.

Тут також ви побачите повідомлення про помилки та такі, які допоможуть вам виправити та покращити сценарії. Панель у правій частині вікна (3) -це доповнення до команди. Подумайте про це як про словник усіх доступних вам команд PowerShell.

PowerShell не запускає жодного сценарію, крім них. вже є частиною Windows. Вам потрібно буде змінити його, щоб ви могли запустити свій. власні сценарії.

У вікні сценаріїв скопіюйте та вставте наступне:

Set -ExecutionPolicy -ExecutionPolicy RemoteSigned

Set-ExecutionPolicy його частина називається командлетом (вимовляється командлет). Кемдлети - це потужні речі. Подумайте про них як про короткі команди, які ви можете дати Windows, і Windows виконає купу складніших завдань, щоб задовольнити вашу команду.

Аналогією було б сказати дитині прибирати кімнату. Коротко і по суті. Якщо ваша дитина добре знається на прибиранні кімнати, то вона піде застелити ліжко, покладе білизну в кошик, полить іграшки та книги і, можливо, навіть пропилососить підлогу. Вони розуміють, що командлет Clean-YourRoom мав на увазі все це.

Угорі вікна ви побачите зелений наконечник стріли. Натисніть на це, щоб запустити команду.

-Політика виконання частина розповідає Set-ExecutionPolicy яку політику встановити. Це параметр. У ньому йдеться: «Я хочу, щоб ви працювали в рамках цих настанов і зробили це конкретно. Він говорить йому використовувати спеціальну політику RemoteSigned.

RemoteSigned політика стверджує, що PowerShell може не виконувати або запускати будь -який сценарій, завантажений з Інтернету, якщо він не підписаний надійним видавцем.

Обхідним шляхом він повідомляє PowerShell, що добре запускати будь -який сценарій, створений локально, оскільки їх не потрібно підписувати віддаленим довіреним видавцем. Тепер ваш сценарій PowerShell зможе запускати будь -який сценарій, який ви пишете на своєму комп’ютері.

Давайте розглянемо сценарій для видалення тимчасових файлів. Це не так. настільки потужний або ґрунтовний, як CCleaner, але CCleaner поставляється зі своїм власним набором. проблеми.

Використовуйте PowerShell для створення місця на жорсткому диску

Ми будемо розбивати цей сценарій, рядок за рядком, щоб ви бачили. як це працює. В кінці сценарій буде повністю показаний, щоб ви могли скопіювати. і вставте його, якщо хочете.

$ TempFileLocation = "C: \ Users \ username \ Appdata \ Local \ Temp \*"

Все, що знаходиться перед знаком долара, - це змінна назва. Подумайте про це як про гаманець, куди можна покласти цінні речі. Гаманець нагадує нам знак долара, цінні речі звучать як змінні, тож ми теж це пам’ятатимемо. Ми створюємо гаманець або змінну з іменем $ TempFileLocation. Знак рівності вказує PowerShell, що розмістити у цій змінній.

У цьому випадку ми розміщуємо розташування тимчасових файлів Windows - C: \ Users \ username \ AppData \ Local \ Temp \*. Ми робимо це з двох причин; це місце, з якого завжди можна безпечно видаляти файли, і ми збираємось використовувати його, щоб повідомити PowerShell, куди він повинен піти, щоб видалити файли.

Де там написано ім’я користувача. розташування, поміняйте його своїм ім’ям користувача. Це ім’я користувача, яке ви використовуєте для реєстрації. у свій комп'ютер. Зірочка (*) в кінці. це дика картка. Те, що він представляє, це все в папці Temp, тому що все в папці Temp є тимчасовим. і ми хочемо його видалити.

Подвійні лапки навколо місця також важливі. Це. повідомляє PowerShell, що в ньому є рядок. Думайте про рядок як про рядок. букв і символів. Якби це були звичайні числа, ми б не використовували. цитати.

$ TempFile = Get -ChildItem $ TempFileLocation -Повтор

Ми робимо ще одну змінну. Цього разу ми будемо використовувати команду, щоб придумати щось, що потрібно додати до $ TempFile змінна.

Get-ChildItem 

Інше, що ви помітите у таких командлетах, як Get-ChildItem полягає в тому, що він повністю читабельний. Подивіться, як перше слово є дієсловом? Усі командлети починаються зі слів дій, тож ви відразу розумієте, що вони роблять. ChildItem - це два іменники.

Друга частина командлета завжди повідомляє нам, до чого PowerShell застосовуватиме дію. ChildItem означає всіх дочірніх елементів батьківського розташування. Це все одно що сказати отримати всі файли, які знаходяться в папці, при цьому файли є дочірніми, а папка - батьківською.

З чого командлет отримує дочірні елементи? Все у змінній $ TempFileLocation. PowerShell збирається перейти до розташування, яке ми помістили в $ TempFileLocation раніше, і отримає всі дочірні елементи, які там є. Потім він помістить їх у змінну $ TempFile.

Отже, що з -Рецидив частина? Це показово Get-ChildItem пройти все, що є в цьому місці. Не просто заходьте файли одразу в батьківську папку. Якщо у цій папці є папки, візьміть усіх їхніх дітей, їхніх дітей тощо. Ми збираємося їх усіх отримати.

$ TempFileCount = ($ TempFile) .count

Так, ми створюємо третю змінну під назвою $ TempFileCount, і ми збираємось поставити число в цю змінну. Де номер? Ну, ($ TempFile) .count збирається отримати цей номер. Ви, напевно, зрозуміли, що частина .count збирається підраховувати всі файли, які ми щойно зберегли у $ TempFile.

Чому ми це зробили? Переважно тому, що приємно знати, скільки марних файлів ми очищаємо за допомогою решти сценарію, щоб ми могли сказати, наскільки він ефективний.

if ($ TempFileCount -eq 0)

Тепер ми створюємо умовний вираз. Ви бачите, що він запитує "якщо". Якщо що? Якщо річ у дужках є істинною чи хибною. Дужки важливі, інакше If не знає, що порівнювати. Тут він запитує, чи зберігається у нас номер $ TempFileCount дорівнює нулю.

-екв є скороченням для рівних. Це тип оператора порівняння. Це все одно що сказати своїм дітям: "Якщо у вашій кімнаті чисто, чудово, ми щось зробимо ..." Ця заява говорить про те, що число, збережене у $ TempFileCount, -рівне нулю, зробить наступне.

{Write -Host "У папці $ TempFileLocation немає файлів" -ForegroundColor Green}

Це те, що станеться, якщо $ TempFileCount дорівнює нулю. Кучеряві дужки важливі. Вони говорять PowerShell робити тільки те, що в них є, якщо $ TempFileCount дорівнює нулю.

Він запише на хост або на екран: "У папці C немає файлів: \ Users \ username \ Appdata \ Local \ Temp \*". Параметр в кінці, -Колір переднього плану повідомляє PowerShell зробити текст зеленим. Це просто полегшує відрізнення від повідомлення про помилку, яке зазвичай червоне.

Інакше

Ви знаєте, що ще означає. Це частина "Ваша кімната краще бути чистою, інакше ..." частина перевірки того, чи прибирала ваша дитина свою кімнату. Ось що станеться, якщо $ TempFileCount не дорівнює нулю.

{$ TempFile | Remove -Item -WhatIf -Confirm: $ false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

Це говорить про перехід до поточного розташування, збереженого в $ TempFile. Вертикальна лінія після неї називається трубою. Він дійсно функціонує як справжня труба, оскільки повідомляє PowerShell направляти вміст $ TempFile у командлет, ніби це вода, яка потрапляє у пральну машину. Потім командлет Видалити елемент робить те, що говорить; він видаляє все, що є в цьому місці.

-А якщо параметр дуже важливий на цьому етапі. Він пропонує PowerShell запустити команду, але лише спробуйте, нічого не видаляючи. Просто покажіть нам, що було б, якби ми справді це зробили.

Це дозволяє вам перевіряти команди, нічого не змінюючи на своєму комп’ютері. Залиште там -WhatIf, поки вам не буде комфортно, що сценарій буде робити те, що ви хочете, і нічого більше. Тоді просто видаліть це, і сценарій зробить свою роботу.

Параметр -Підтвердити: $ false зупиняє сценарій від запитання, чи дійсно ви хочете видалити файл. Знаєш, що -Рецидив робить. -Сила означає видалити цю річ, незважаючи ні на що. -Попередження встановлено на Мовчки Продовжуйте.

Це запобігає сценарію видавати вам попередження про те, що ви видаляєте. -ErrorAction встановлено на Мовчки Продовжуйте так що якщо в процесі є якісь помилки, він просто продовжує рухатися.

Тепер ми на останньому рядку.

Write -Host "Очищені файли $ TempFileCount у папці $ TempFileLocation" -ForegroundColor Green}

Так як Запис-Ведучий було зроблено вперше, воно виведе наступне речення, тому ми знаємо, що сталося. Він повідомить нам, скільки файлів було видалено з папки, яку він щойно обробив, і зробить це зеленим кольором, щоб його було легко виявити.

Давайте розглянемо сценарій загалом:

$ TempFileLocation = "C: \ Users \ guymcd \ Appdata \ Local \ Temp \*"
$ TempFile = Get -ChildItem $ TempFileLocation -Повтор
$ TempFileCount = ($ TempFile) .count
if ($ TempFileCount -eq "0") {
Write -Host "У папці $ TempFileLocation немає файлів" - ForegroundColor Зелений
}
Інакше {
$ TempFile | Remove -Item -Confirm: $ false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write -Host "Очищені файли $ TempFileCount у папці $ TempFileLocation" -ForegroundColor Зелений
}

Ви можете скопіювати та вставити це у свій PowerShell ISE та зберегти як щось на зразок delete-TemporaryFiles.ps1. Ви також можете дотримуватися умов найменування командлетів тепер, коли ви їх розумієте.

Якщо код з якоїсь причини не працює для вас, ви також можете завантажте сценарій PowerShell ми створили і просто запускаємо його. Просто спочатку розпакуйте його, щоб переглянути файл сценарію.

Щоразу, коли ви хочете запустити цей сценарій, просто клацніть його правою кнопкою миші та виберіть Запускати з PowerShell. Консоль PowerShell з'явиться на секунду або дві, поки ваш сценарій зробить своє, а потім зникне, якщо немає помилок.

Де я можу дізнатися більше PowerShell?

Здається, це багато! Для вашого першого сценарію PowerShell це справедливо. Якщо ви встигли так далеко, аплодуйте собі. Сьогодні ви багато чому навчилися, але тепер ви хочете дізнатися більше. Це чудово!

В Інтернеті є багато ресурсів, щоб дізнатися більше про PowerShell. Хорошим місцем для початку є наша стаття «Створіть список програм запуску за допомогою командного рядка або PowerShell”. Тоді перевірте ці інші ресурси:

  • Початок роботи з Microsoft PowerShell - Віртуальна академія Microsoft
  • Підручник з PowerShell - TutorialsPoint.com

Ласкаво просимо на Help Desk Geek- блог, повний технічних порад від надійних технічних експертів. У нас є тисячі статей та посібників, які допоможуть вам вирішити будь -яку проблему. Наші статті були прочитані понад 150 мільйонів разів з моменту запуску у 2008 році.

Ми також ненавидимо спам, відписуйтесь у будь -який час.

Електронне навчання для дітей-найкращі програми та інструменти для навчання дітей удома
Електронне навчання для дітей-найкращі програми та інструменти для навчання дітей удома

Тож школи можуть бути закриті, а діти вдома. Це неважливо чому це відбувається. Це може бути сніг...

Найкращі інструменти FTP для передачі файлів на домен вашого веб -сайту
Найкращі інструменти FTP для передачі файлів на домен вашого веб -сайту

Ви знаєте про хмару та про те, як це в основному ваші файли на сервері десь в іншому місці. Але я...

Чому ви більше не повинні завантажувати CCleaner для Windows
Чому ви більше не повинні завантажувати CCleaner для Windows

Часто, коли ви розмовляєте з будь-яким спеціалістом з комп’ютерної техніки (або. члена сім’ї) про...