Школа компьютерщиков: узнайте, как автоматизировать Windows с помощью PowerShell

Jul 10, 2025
Конфиденциальность и безопасность
НЕКЕШЕРОВАННЫЙ КОНТЕНТ

В этом выпуске Geek School мы поможем вам разобраться в мощном языке сценариев PowerShell, который встроен прямо в Windows и который чрезвычайно полезно знать в ИТ-среде.

Хотя эта серия статей не построена вокруг экзамена, изучение PowerShell - одна из самых важных вещей, которую вы можете сделать как сетевой администратор, так что если есть что-то, чему вы хотите научиться, чтобы помочь своей карьере в области ИТ, то это он. К тому же это очень весело.

Вступление

PowerShell - это самый мощный инструмент автоматизации, который может предложить Microsoft, и одновременно ракушка и язык сценариев .

Обратите внимание, что эта серия основана на PowerShell 3, который поставляется с Windows 8 и Server 2012. Если вы используете Windows 7, загрузите обновление PowerShell 3, прежде чем продолжить.

Познакомьтесь с консолью и ISE

Есть два способа взаимодействия с PowerShell из коробки: консоль и интегрированная среда сценариев, также известная как ISE. ISE значительно улучшилась по сравнению с ужасной версией, которая поставлялась с PowerShell 2, и ее можно открыть, нажав комбинацию клавиш Win + R, чтобы вызвать окно запуска, затем набрав powershell_ise и нажав Enter.

Как вы можете видеть, ISE имеет разделенное представление, так что вы можете быстро создавать сценарии, сохраняя при этом возможность видеть результат в нижней половине ISE. Нижняя половина ISE, где печатаются результаты вашего скрипта, также может использоваться как приглашение REPL - во многом как командная строка. Наконец, в v3 ISE добавлена ​​поддержка intellisense как в панели сценариев, так и в интерактивной консоли.

Кроме того, вы можете взаимодействовать с PowerShell с помощью консоли PowerShell, которую я буду использовать в большей части этой серии. Консоль PowerShell ведет себя так же, как командная строка - вы просто вводите команды, и она выдаёт результаты. Чтобы открыть консоль Windows PowerShell, снова нажмите комбинацию клавиш Win + R, чтобы открыть окно запуска, и введите powershell, затем нажмите клавишу ВВОД.

Подобные запросы REPL отлично подходят для мгновенного удовлетворения: вы вводите команду и получаете результаты. Хотя консоль не поддерживает intellisense, она предлагает так называемое завершение по табуляции, которое работает примерно так же - просто начните вводить команду и нажимайте табуляцию, чтобы просмотреть возможные совпадения.

Использование справочной системы

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

Обновление-Помощь

Поздравляем с запуском вашей первой команды PowerShell! На самом деле команда Update-Help имеет гораздо больше возможностей, чем просто ее запуск, и чтобы увидеть их, нам нужно просмотреть справку для этой команды. Чтобы просмотреть справку по команде, вы просто передаете имя команды, по которой вам нужна помощь, параметру Name команды Get-Help, например:

Get-Help –Name Update-Help

Вы, вероятно, задаетесь вопросом, как интерпретировать весь этот текст в любом случае, я имею в виду, почему в разделе синтаксиса есть два большого количества информации и почему повсюду так много скобок? Перво-наперво: причина, по которой в разделе синтаксиса есть два блока информации, заключается в том, что они представляют разные способы выполнения команды. Это технически называемые наборы параметров, и вы можете использовать только один за раз (вы не можете смешивать параметры из разных наборов). На приведенном выше снимке экрана вы можете видеть, что в верхнем наборе параметров есть параметр SourcePath, а в нижнем - нет. Причина в том, что вы использовали бы верхний набор параметров (тот, который включает SourcePath), если бы вы обновляли файлы справки с другого компьютера в вашей сети, который их уже загрузил, в то время как вам не нужно указывать исходный путь, если вы просто хотел получить последние файлы от Microsoft.

Чтобы ответить на второй вопрос, есть определенный синтаксис, которому следуют файлы справки, и вот он:

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

Хотя вам следует научиться читать синтаксис файла справки, если вы когда-либо не уверены в каком-либо конкретном параметре, просто добавьте –Full в конец команды получения справки и прокрутите вниз до раздела параметров, где он расскажет вам немного больше о каждом параметр.

Get-Help –Name Update-Help –Full

Последнее, что вам нужно знать о справочной системе, - это то, как вы можете использовать ее для поиска команд, что на самом деле очень просто. Видите ли, PowerShell принимает подстановочные знаки практически везде, поэтому их использование вместе с командой Get-Help позволяет легко находить команды. Например, я ищу команды, связанные со службами Windows:

Get-Help –Name * service *

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

Безопасность

Это было бы неправильным введением без упоминания безопасности. Наибольшее беспокойство у команды PowerShell вызывает то, что PowerShell становится последней и самой большой точкой атаки для детей-скрипачей. Они приняли несколько мер безопасности, чтобы этого не произошло, поэтому давайте взглянем на них.

Самая простая форма защиты заключается в том, что расширение файла PS1 (расширение, используемое для обозначения сценария PowerShell) не зарегистрировано на хосте PowerShell, а фактически зарегистрировано в Блокноте. Это означает, что если вы дважды щелкните файл, он откроется с помощью блокнота, а не запустится.

Во-вторых, вы не можете запускать скрипты из оболочки, просто набрав имя скрипта, вы должны указать полный путь к скрипту. Поэтому, если вы хотите запустить сценарий на вашем диске C, вам нужно будет ввести:

C: \ runme.ps1

Или, если вы уже находитесь в корне диска C, вы можете использовать следующее:

. \ ρυνμε.ψ1

Наконец, в PowerShell есть нечто, называемое политиками выполнения, которые не позволяют вам просто запускать любой старый скрипт. Фактически, по умолчанию вы не можете запускать какие-либо сценарии, и вам нужно изменить политику выполнения, если вы хотите, чтобы вам разрешили их запускать. Есть 4 примечательные политики выполнения:

  • Ограниченный : Это конфигурация по умолчанию в PowerShell. Этот параметр означает, что ни один сценарий не может выполняться независимо от его подписи. Единственное, что можно запустить в PowerShell с этим параметром, - это отдельная команда.
  • AllSigned: Этот параметр позволяет запускать сценарии в PowerShell. У сценария должна быть соответствующая цифровая подпись от надежного издателя. Перед запуском сценариев от доверенных издателей появится запрос.
  • RemoteSigned : Этот параметр позволяет запускать сценарии, но требует, чтобы файлы сценария и конфигурации, загружаемые из Интернета, имели связанную цифровую подпись от доверенного издателя. Скрипты, запускаемые с локального компьютера, не требуют подписи. Перед запуском скрипта нет никаких подсказок.
  • Неограниченный : Это позволяет запускать неподписанные сценарии, включая все сценарии и файлы конфигурации, загруженные из Интернета. Это будут файлы из Outlook и Messenger. Риск здесь заключается в запуске сценариев без какой-либо подписи или безопасности. Мы рекомендуем вам никогда не использовать эту настройку.

Чтобы узнать, какова ваша текущая политика выполнения, откройте консоль PowerShell и введите:

Get-ExecutionPolicy

Для этого курса и большинства других обстоятельств лучше всего подходит политика RemoteSigned, поэтому смело меняйте свою политику, используя следующее.

Примечание. Это нужно будет сделать из консоли PowerShell с повышенными привилегиями.

Set-ExecutionPolicy RemoteSigned

На этот раз, ребята, увидимся завтра, чтобы еще немного повеселиться с PowerShell.


Отказ от ответственности: правильным термином для команды PowerShell является командлет, и с этого момента мы будем использовать эту правильную терминологию. Просто для этого введения было удобнее называть их командами.


Если у вас есть вопросы, вы можете написать мне в Твиттере @taybgibb , или просто оставьте комментарий.

Introduction To Managing Windows DNS With PowerShell

Coding 101 87: PowerShell 2/4

Powershell And Selenium

StreamDeck And PowerShell

Black Hat USA 2010: Microsoft Powershell Its Time To Own 1/2

🔴Error Handling In PowerShell


Конфиденциальность и безопасность - Самые популярные статьи

Как зашифровать файлы с помощью gocryptfs в Linux

Конфиденциальность и безопасность Aug 27, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Фатмавати Ахмад Дзэнури / Shutterstock Вы хотите зашифроват�..


Как защитить свою учетную запись Discord

Конфиденциальность и безопасность Apr 7, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Discord - это развлечение и игры, пока ваш аккаунт не украдут. Убедитесь, что н�..


Как проверить, не украли ли фото

Конфиденциальность и безопасность Aug 17, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Фотографии и другие изображения в Интернете постоянно крадут. Кто-то дела..


Шесть вещей, которые следует учесть перед установкой Smart Lock

Конфиденциальность и безопасность Dec 21, 2024

Умные замки могут предложить большое удобство при выходе из дома и входе в него, но есть несколько �..


Как приостановить и отложить обновления в Windows 10

Конфиденциальность и безопасность Mar 21, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ СВЯЗАННЫЕ С: Что нового в Windows 10 Creators Update Выпу..


Как запретить отображение некоторых фотографий в галерее Android или Google Фото

Конфиденциальность и безопасность Mar 8, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Послушайте, мы поняли: вы не хотите каждый изображение, отображае�..


Исправьте вирус с поддельным номером отслеживания UPS, перезагружая компьютер

Конфиденциальность и безопасность Jan 18, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Если вы или кто-то из ваших знакомых недавно были заражены из-за того, что их обм..


Удалите вредоносное ПО из зараженной системы с помощью Ad-Aware 2009

Конфиденциальность и безопасность Aug 5, 2025

НЕКЕШЕРОВАННЫЙ КОНТЕНТ Ранее на этой неделе мы показали вам насколько действительно шпионское ПО ..


Категории