Знакомство с утилитой PowerShell в системах Windows 7, 8 и 10

В статье PowerShell скрипты, модули, профили (введение) я рассказал об общих моментах, когда стоит создать модуль, а когда достаточно обойтись одним.

Фильтрация в Powershell Test-Path

Мы можем предполагать, что в папке находиться файл с неизвестным именем и хотим проверить это. В самом ключе Path возможно использовать простые маски. Выполнив следующую команду у нас вернется True, если в папке находится хотя бы один файл заканчивающийся на .txt:

#file existsTest-Path -PathType Leaf -Path «C:*.txt»

Аналогично, если мы проверяем путь, причем промежуточный:

Test-Path -Path ‘C:Wind*System32’

Доступен ключ IsValid и он должен валидировать путь на корректное написание. Если мы его установим, то вместо того что бы проверять существование пути будет проверяться корректность написания:

Test-Path -IsValid -Path «C:WindowsSystem32@AppHelpToast.png»

Test-Path IsValid

Достаточно странный ключ и похоже он проверяет только эти символы в пути: » * : < > ? | , хотя при создании запрещен еще и другой слэш.

Есть еще два интересных ключа:

  • Include — включает проверку объекта
  • Exclude — исключает проверку объекта

С помощью этих ключей мы можем проверить, например, существует ли в папке документы *.txt и *.docx одновременно или узнать есть ли что-то кроме *.jpg. Для работы с этими параметрами нужно указать * в конце пути как на примере:

Test-Path -Include «*.log» -Path «C:Windows*»

Powershell Include Exclude

Похожие маски мы можем делать и для ключа Filter, но он принимает только одно значение:

Test-Path -Path «C:Windows*» -Filter «*.log»

Test-Path filter

Командлет

Командлет Test-Path используется для проверки существования файла.

Как вернуть командную строку вместо PowerShell в Windows 10

С выходом нового обновления операционной системы в контекстном меню пуска была сделана замена возможности выбора командной строки на Windows PowerShell. Корпорация Майкрософт оставила за пользователями возможность возврата командной строки вместо PowerShell.

  1. Открываем Пуск > Параметры > Персонализация > Панель задач.
  2. Дальше изменяем значение пункта Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск или при нажатии клавиш Windows+X на Отключено.

После чего в контекстном меню пуск появится доступная ранее командная строка. Смотрите также другие способы запуска командной строки в Windows 10. А также заменить PowerShell на командную строку можно использую редактор реестра. Обратите внимание что перед внесением изменений в реестр рекомендуется создать резервную копию реестра, а после внесения изменений необходимо выполнить перезагрузку компьютера или перезапуск проводника.

  1. Откройте редактор реестра выполнив команду regedit в окне Win+R.
  2. Дальше перейдите в расположение: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced.
  3. Измените значение параметра DontUsePowerShellOnWinX на 1.Как вернуть командную строку вместо PowerShell в Windows 10

Введение

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

Для обеспечения бесперебойного функционирования компьютерных устройств и безошибочного исполнения разнообразных, по уровню затрат и трудоемкости, процессов задействуется комплексное программное обеспечение. Наиболее востребованным образцом программной среды контроля, управления и полноценной организации рабочего процесса компьютеров среди доступных на выбор вариантов от различных доверенных разработчиков является операционная система «Windows» от специалистов корпорации «Microsoft». Программная оболочка обладает мощным внутренним функционалом, обеспечивает поддержку подавляющего большинства приложений сторонних разработчиков и представлена в удобном и дружественном к конечным пользователям интерфейсе.

Инструментарий операционной системы, доступной в своей новейшей версии «Windows 10», содержит специальные службы, которые представляют собой программы, осуществляющие свою деятельность в фоновом режиме, не имеющие пользовательского интерфейса и позволяющие системным функциям (таким как печать, взаимодействие по сети, удаленный доступ, проводник файлов «Windows», поиск «Windows», обновления и т.д.) и приложениям работать по своему прямому назначению.

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

Операционная система «Windows 10» включает как минимум четыре способа для остановки, запуска, отключения или включения служб, позволяя выполнить востребованные операции с помощью ответственной консоли «Службы», приложения «Диспетчер задач», интерфейса командной строки и расширяемого средства автоматизации от «Microsoft» с открытым исходным кодом «Windows PowerShell».

И далее в данном руководстве, описывающем возможности «Windows 10», мы расскажем, как управлять службами системы и приложений на пользовательском компьютере.

Что такое PowerShell и чем он хорош

Пользователи UNIX и Linux, а с какого-то мoмента и macOS привыкли к тому, что под рукой всегда есть Bash — немного старомодное, но универсальное и мощное средство, при помощи которого всего парой строк можно творить удивительные вещи. Прописываешь новый скрипт в cron — и готово, он уже крутится на твоем компьютере или на сервере и незаметно делает что-нибудь полезное.

Возвращаясь в Windows (а без этого иногда никак), понимаешь, что скрипты .bat хоть и хороши, но спасают не всегда: очень уж ограниченны их возможности. И если ты до сих пор считал, что PowerShell — это неведомая штуковина, ради которой нужно что-то там поднимaть и настраивать, то не спеши с выводами — он, если разобраться, совсем неплох.

Windows PowerShell — это расширяемое средство автоматизации с открытыми исходниками, которое состоит из оболочки (командной строки) и скриптового языка. Впервые он был показан в 2003 году (тогда он назывался Monad). PowerShell 2.0 вышел в составе Windows 7 и Windows Server 2008 R2 и с тех пор присутствует в Windows в качестве стандартного компонента. Его даже включили в Windows XP SP3. PowerShell построен на основе .NET Framework и интегрирован с ним. PowerShell может обращаться к COM, WMI и ADSI, а также, конечно же, исполняет консольные команды.

[ad name=»Responbl»]

В общем, «пошик» имеет крепкие связи с продуктами Microsoft, будь то Active Directory или почтовый сервер Exchange. Это позволяет без подключения к оснастке сервера обращаться к ним через консоль и отдaвать команды.

Если раньше ты не интересовался PowerShell, то, скорее всего, у тебя стоит вторая версия. Я рекомендую обновиться как минимум до третьей — она содержит куда больше возможностей и полезных фишек. Если не вдаваться в подробности, то в PowerShell 2.0 входит около десятка модулей и примерно 350 команд, а в PowerShell 3.0 уже около 2300 командлетов из более чем 70 модулей. «Хакер» также писал о том, чем отличается самый новый PowerShell пятой версии из Windows 10.

[ad name=»Responbl»]

Через команду «Выполнить»

  1. Запустите окно «Выполнить»
  2. Введите команду powershell
  3. Нажмите клавишу ENTER или кнопку OK.
Все способы запустить PowerShell на Windows 10

Создание сценария с использованием интегрированной среды сценариев (ISE)

Кроме того, вы можете использовать консоль PowerShell ISE для написания сценариев в Windows 10.

Интегрированная среда сценариев — сложный инструмент, но вы можете начать, используя следующие шаги:

  1. Откройте Пуск.
  2. Найдите Windows PowerShell ISE, щелкните правой кнопкой мыши и выберите параметр «Запуск от имени администратора».
  3. Среда запустится с пустым файлом .ps1, где вы можете создать или вставить скрипт, который хотите запустить. Например: Write-Host «Congratulations! Your first script executed successfully»
  4. Нажмите меню Файл.
  5. Нажмите «Сохранить».
  6. Введите имя для сценария. Например, first_
  7. Нажмите кнопку Сохранить.

После того как вы выполнили эти шаги, используя Notepad или PowerShell ISE, скрипт готов к запуску, но он не будет выполнен. Это связано с тем, что стандартные настройки PowerShell всегда устанавливаются таким образом, чтобы блокировать выполнение любого сценария.

Аналоги

Пользователь может взаимодействовать с ядром ПК или ноутбука и с помощью других похожих приложений. Рассмотрим несколько вариантов такого программного обеспечения:

  • ConEmu.
  • KiTTY.
  • MinGW.
  • MSYS2.

Другие вопросы по пользованию

У многих возникает вопрос, как узнать версию PowerShell? Для этого выполните следующее:

  1. Откройте приложение.
  2. Введите $PSVersionTable.
  3. Если это ни к чему не привело, значит, у вас версия 1.0 — для неё есть команда $
  4. В ином случае появится подробная информация о том, какая версия приложения установлена на ПК.

Ещё один вопрос, на который стоит дать ответ — как удалить PowerShell? Для этого потребуются такие действия:

  • Зайдите через Панель управления в меню установки и удаления программ.
  • Найдите ветку Microsoft Windows
  • Удалите обновление для компонента WindowsPowerShell ™, следуйте инструкциям системы.

Теперь вы знаете всё о том, как писать и запускать скрипты PowerShell, сможете пользоваться такой командной строкой для многих операций в системе. Дополнительно вы всегда имеете возможность узнать версию этого продукта и даже частично удалить его — из-за того, что он установлен вместе с системными компонентами, полностью сделать это всё равно не получится. Посоветуем только быть аккуратным при выполнении всех подобных действий, чтобы не навредить компьютеру в целом.

Работа с записями реестра. Создание списков записей реестра.

Существует несколько способов просмотра реестра. Самый простой — получить имена свойств, связанные с разделом. Например, чтобы просмотреть имена записей в разделе реестра HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion, используйте Get-Item. Разделы реестра содержат свойство с универсальным именем Property, которое является списком записей реестра в разделе. Следующая команда выбирает свойство Property и расширяет элементы так, чтобы они отображались в списке:

Get-Item-PathRegistry::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion|

  Select-Object-ExpandPropertyProperty

DevicePath

MediaPathUnexpanded

ProgramFilesDir

CommonFilesDir

ProductId

Чтобы просмотреть записи реестра в более удобочитаемой форме, используйте Get-ItemProperty.

Get-ItemProperty-PathRegistry::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

PSPath              :Microsoft.PowerShell.CoreRegistry::HKEY_LOCAL_MACHINESO

                      FTWAREMicrosoftWindowsCurrentVersion

PSParentPath        :Microsoft.PowerShell.CoreRegistry::HKEY_LOCAL_MACHINESO

                      FTWAREMicrosoftWindows

PSChildName         :CurrentVersion

PSDrive             :HKLM

PSProvider          :Microsoft.PowerShell.CoreRegistry

DevicePath          :C:WINDOWSinf

MediaPathUnexpanded:C:WINDOWSMedia

ProgramFilesDir     :C:Program Files

CommonFilesDir      :C:Program FilesCommon Files

ProductId           :76487338116777622465

WallPaperDir        :C:WINDOWSWebWallpaper

MediaPath           :C:WINDOWSMedia

ProgramFilesPath    :C:Program Files

PF_AccessoriesName  :Accessories

(default)           :

Все свойства Windows PowerShell раздела имеют префиксы PS, например PSPathPSParentPathPSChildName и PSProvider.

Для создания ссылки на текущее расположение можно использовать нотацию *.*. Set-Location можно использовать для изменения значения на контейнер реестра CurrentVersion.

Set-Location-PathRegistry::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion

Кроме того, можно использовать встроенный диск HKLM PSDrive с Set-Location.

Set-Location-Pathhklm:SOFTWAREMicrosoftWindowsCurrentVersion

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

...

DevicePath          :C:WINDOWSinf

MediaPathUnexpanded:C:WINDOWSMedia

ProgramFilesDir     :C:Program Files

...

Расширение пути работает так же, как и в файловой системе, поэтому в этом расположении можно получить перечисление ItemProperty для HKLM:SOFTWAREMicrosoftWindowsHelp с помощью Get-ItemProperty -Path ..Help.

Вопросы и ответы

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

( 1 оценка, среднее 1 из 5 )

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: