Использование PowerShell для домашних пользователей - руководство для начинающих

Admin

Кто не хотел бы быть волшебником и произнести несколько слов, чтобы произошли волшебные вещи? Что ж, мы не можем показать вам, как стать волшебником, но мы можем показать вам, как творить небольшую компьютерную магию.

Если у вас есть компьютер с Windows с 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). Вы можете найти его, нажав Пуск и набрав Powershell ISE в строку поиска в Windows 10. Вы должны увидеть это, как показано ниже.

В первый раз, когда мы его используем, мы будем запускать его от имени администратора. Для этого у вас сначала должны быть права администратора на вашем компьютере. В вашей Стартовое менющелкните правой кнопкой мыши на PowerShell ISE, затем нажмите Запустить от имени администратора.

Вы можете получить Пользователь. Контроль доступа (UAC) всплывающее окно с предупреждением о том, действительно ли вы хотите это сделать. это. Нажмите да.

Теперь вы смотрите на IDE PowerShell. Верхняя панель окна (1) это панель сценариев. Здесь вы напишете свой сценарий. Нижняя панель окна (2) это область консоли. Когда вы протестируете свой скрипт, вы увидите результат на этой панели.

Здесь вы также увидите сообщения об ошибках, которые помогут вам исправить и улучшить ваши скрипты. Панель в правой части окна (3) это надстройка команды. Думайте об этом как о словаре всех доступных вам команд PowerShell.

PowerShell настроен на то, чтобы не запускать никаких сценариев, кроме этих. уже входит в состав Windows. Вам нужно будет изменить его, чтобы вы могли запустить свой. собственные скрипты.

В окне сценария скопируйте и вставьте следующее:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

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

В качестве аналогии можно сказать вашему ребенку, чтобы он убрал свою комнату. Коротко и по делу. Если ваш ребенок хорошо разбирается в уборке комнаты, он пойдет и заправит постель, положит белье в корзину, поставит игрушки и книги на полки и, возможно, даже пропылесосит пол. Они понимают, что все это имел в виду командлет Clean-YourRoom.

Вверху окна вы увидите зеленую стрелку. Щелкните по нему, чтобы запустить команду.

В -ExecutionPolicy часть говорит Set-ExecutionPolicy какую политику установить. Это параметр. Он говорит: «Я хочу, чтобы вы работали в соответствии с этими принципами и делали именно это. Он сообщает ему использовать определенную политику RemoteSigned.

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

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

Давайте посмотрим на сценарий для удаления временных файлов. Это не так. такой же мощный или полный, как CCleaner, но CCleaner поставляется со своим собственным набором. проблемы.

Используйте PowerShell для освобождения места на жестком диске

Мы разберем этот сценарий построчно, чтобы вы могли видеть. как это устроено. В конце сценарий будет полностью показан, и вы сможете его скопировать. и вставьте его, если хотите.

$ TempFileLocation = "C: \ Users \ имя пользователя \ Appdata \ Local \ Temp \ *"

Все, что стоит перед знаком доллара, является именем переменной. Думайте об этом как о кошельке, в который можно положить ценные вещи. Кошелек напоминает нам знак доллара, ценные вещи звучат как переменные, так что мы это тоже запомним. Мы создаем кошелек или переменную с именем $ TempFileLocation. Знак равенства сообщает PowerShell, что нужно вставить в эту переменную.

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

Где там написано имя пользователя. местоположение, замените его на свое имя пользователя. Это имя пользователя, которое вы используете для входа. на свой компьютер. Звездочка (*) в конце. это дикая карта. Он представляет собой все, что находится в папке Temp, потому что все в папке Temp является временным. и мы хотим его удалить.

Двойные кавычки вокруг местоположения тоже важны. Тот. сообщает PowerShell, что это строка. Думайте о строке как о строке. букв и символов. Если бы это были обычные числа, мы бы не использовали. цитаты.

$ TempFile = Get-ChildItem $ TempFileLocation -Recurse

Мы делаем еще одну переменную. На этот раз мы собираемся использовать команду, чтобы придумать что-то, что нужно вставить в $ TempFile Переменная.

Get-ChildItem 

Еще одна особенность командлетов, например Get-ChildItem в том, что он полностью читаем. Видите, как первое слово - глагол? Все командлеты начинаются со слов действия, поэтому вы сразу понимаете, что они делают. ChildItem - это два существительных.

Вторая часть командлета всегда сообщает нам, к какому PowerShell применит действие. ChildItem означает всех дочерних элементов родительского местоположения. Это все равно, что сказать: «Получите все файлы, которые находятся в папке, где файлы являются дочерними, а папка - родительской».

Какой командлет получает дочерние элементы? Все в переменной $ TempFileLocation. PowerShell перейдет в то место, которое мы поместили в $ TempFileLocation ранее, и получит все дочерние элементы, которые там есть. Затем он поместит их в переменную $ TempFile.

Итак, что с -Рекурс часть? Это говорит Get-ChildItem пройти все в этом месте. Не сразу загружайте файлы в родительскую папку. Если в этой папке есть папки, получите всех их потомков, их потомков и так далее. Мы собираемся получить их всех.

$ TempFileCount = ($ TempFile) .count

Да, мы создаем третью переменную под названием $ TempFileCount, и мы собираемся поместить в эту переменную число. Где номер? Хорошо, ($ TempFile) .count даст нам этот номер. Вы, наверное, догадались, что часть .count будет производить подсчет всех файлов, которые мы только что сохранили в $ TempFile.

Почему мы это сделали? В основном потому, что приятно знать, сколько бесполезных файлов мы очищаем остальной частью скрипта, чтобы определить, насколько он эффективен.

если ($ TempFileCount -eq 0)

Теперь мы настраиваем условное выражение. Вы можете видеть, что он спрашивает «если». Если что? Если в скобках верно или неверно. Скобки важны, иначе If не знает, с чем сравнивать. Здесь он спрашивает, если номер, который мы сохранили в $ TempFileCount равно нулю.

В -eq это сокращение для равных. Это разновидность оператора сравнения. Это все равно, что сказать своим детям: «Если ваша комната чистая, отлично, мы собираемся что-то сделать…» Это утверждение говорит, что если число, сохраненное в $ 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 останавливает скрипт от запроса, действительно ли вы хотите удалить файл. Знаешь что -Рекурс делает. -Сила означает удалить эту вещь, несмотря ни на что. -WarningAction установлен на Тихопродолжить.

Это предотвращает выдачу скриптом предупреждений о том, что вы удаляете. -ErrorAction установлен на Тихопродолжить так что, если в процессе есть какая-либо ошибка, он просто продолжает работать.

Теперь мы на последней строчке.

Write-Host "Очищены файлы $ TempFileCount в папке $ TempFileLocation" -ForegroundColor Green}

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

Давайте посмотрим на сценарий в целом:

$ TempFileLocation = "C: \ Users \ guymcd \ Appdata \ Local \ Temp \ *"
$ TempFile = Get-ChildItem $ TempFileLocation -Recurse
$ TempFileCount = ($ TempFile) .count
if ($ TempFileCount -eq "0") {
Write-Host «В папке $ TempFileLocation нет файлов» - ForegroundColor Green
}
Еще {
$ TempFile | Remove-Item -Confirm: $ false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Очистил файлы $ TempFileCount в папке $ TempFileLocation" -ForegroundColor Green
}

Вы можете скопировать и вставить это в свою PowerShell ISE и сохранить как что-то вроде удалить-TemporaryFiles.ps1. Теперь вы можете придерживаться соглашения об именах командлетов, когда вы их понимаете.

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

Когда бы вы ни захотели запустить этот скрипт, просто щелкните его правой кнопкой мыши и выберите Запускаем с PowerShell. Консоль PowerShell появится на секунду или две, пока ваш скрипт сделает свое дело, а затем исчезнет, ​​если ошибок нет.

Где я могу узнать больше о PowerShell?

Кажется, это много! Для вашего первого скрипта PowerShell это неплохо. Если вы зашли так далеко, поаплодируйте себе. Сегодня вы многому научились, но теперь вы хотите узнать больше. Замечательно!

В Интернете есть множество ресурсов для получения дополнительных сведений о PowerShell. Хорошее место для начала - наша статья «Создание списка запускаемых программ через командную строку или PowerShell”. Тогда ознакомьтесь с этими другими ресурсами:

  • Начало работы с Microsoft PowerShell - Виртуальная академия Microsoft
  • Учебное пособие по PowerShell - TutorialsPoint.com

Добро пожаловать в Help Desk Geek - блог, полный технических советов от проверенных технических экспертов. У нас есть тысячи статей и руководств, которые помогут вам устранить любую проблему. С момента запуска в 2008 году наши статьи были прочитаны более 150 миллионов раз.

Мы тоже ненавидим спам, откажитесь от подписки в любое время.

5 лучших браузерных инструментов для защиты вашей конфиденциальности в Интернете
5 лучших браузерных инструментов для защиты вашей конфиденциальности в Интернете

В наши дни посещения веб-сайта уже недостаточно. Когда вы покидаете веб-сайт, они хотят знать, ку...

Лучшие альтернативы IFTTT
Лучшие альтернативы IFTTT

IFTTT, или "Если это, то это", онлайн-инструмент, который позволяет легко автоматизировать практи...

Работает ли программа восстановления файлов Windows от Microsoft? Мы это протестировали.
Работает ли программа восстановления файлов Windows от Microsoft? Мы это протестировали.

Все мы случайно удаляем файлы. Но не у всех есть способ восстановить эти файлы. Конечно, есть раз...