Для чего нужен Windows PowerShell – как его использовать

Итак, я решил протестировать работу скриптов powershell на Windows Server 2003. Имеем следующий файл находящийся в корне диска C: с именем audit.ps1.

Что такое Windows PowerShell

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

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

Давайте подробно рассмотрим, какие функции и преимущества предлагает эта оболочка от Microsoft:

  • Интеграция с Microsoft .NET Framework. NET Framework – это среда управляемого выполнения для Windows, предоставляющая широкий спектр сервисов для запуска приложений. Команды сценариев PowerShell имеют доступ к ресурсам .NET Framework.
  • Объектно-ориентированный. В отличие от большинства оболочек, которые принимают и возвращают чистый текст, все команды PowerShell, генерирующие выходные данные, возвращают объекты .NET Framework, устраняя необходимость разбора текста в случае, если выходные данные команды нужны для последующей команды.
  • Command-Let. Windows PowerShell представляет концепцию command-let или cmdlet, инструмента командной строки с единственной функцией, встроенной в оболочку. Доступно более ста системных командлетов. Кроме того, вы можете писать собственные командлеты и делиться ими с другими пользователями. Каждый командлет может использоваться отдельно или в сочетании с другими для выполнения сложных задач.
  • Предназначен для системных администраторов. PowerShell включает функции, предназначенные для системных администраторов, такие как возможность работы на удаленных компьютерах, доступ к реестру Windows и запуск или остановка служб.

Установка DFS

Для установки DFS через Powershell, запускаем последний от имени администратора и вводим следующую команду:

> Get-WindowsFeature

* в среднем столбце Name будут отображаться имена служб. Будем их использовать для установки ролей через Powershell.

Команда выведет полный список установленных ролей. Найдите среди них пространство имен DFS

Если она не установлена, вводим команду:

> Add-WindowsFeature FS-DFS-Namespace

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

Политики выполнения скриптов в PowerShell

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

  • Get-ExecutionPolicy -List
Читайте также:  Создание кнопки выключения и перезагрузки прямо на рабочем столе

Мы можем видеть несколько уровней разрешений политик для запуска сценариев.

Чтобы изменить политику запуска скрипта, вы должны знать различные уровни привилегий, которые мы можем назначить каждому из областей.

  • Restricted: заблокировано выполнение любых скриптов, но разрешается работа интерактивных команд.
  • RemoteSigned: загруженные скрипты должны быть подписаны доверенным издателем. Локальные скрипты работают без подписи
  • AllSigned: разрешает выполнение любого подписанного скрипта, как локального, так и удаленного (загруженного).
  • Unrestricted: без ограничений. Вы можете запустить все сценарии, даже те, которые не подписаны.
Политики выполнения скриптов в PowerShell
  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser — запуск без ограничения для пользователя.
  • Set-ExecutionPolicyRestricted -Scope CurrentUser вернуть назад, если будет нужно.

Разрешает без ограничений выполнять сценарии для локального пользователя. Ключ -Scope определяет, к чему применяется изменение политики. Когда вы вводите «CurrentUser«, то применяется только к текущему пользователю, а когда вы вводите «LocalMachine«, он применяется ко всей системе.

Если выше способ не помог вам запустить свой скрипт и ошибка «Выполнение сценариев отключено в этой системе» появляется, то можно снять полностью ограничения. Вы должны понимать, что это большой риск и ваш скрипт должен быть безопасен на 101%. Откройте PowerShell от имени админа и:

  • Set-ExecutionPolicy Unrestricted — разрешить выполнение скриптов без ограничений.
  • Set-ExecutionPolicy Restricted— вернуть назад по умолчанию.

Смотрите еще:

  • Что за папка ProgramData Windows 10
  • Исправить ошибку Boot Device Not Found на ноутбуке или ПК
  • Antimalware Service Executable (MsMpEng) — Грузит Систему
  • Ошибка 0x80070490 в Центре обновления Windows 10
  • Защитник Windows: Ограничить нагрузку на процессор

Как вернуть PowerShell в меню WinX

Если вам нравится использовать CMD поверх PowerShell, есть несколько способов вернуть PowerShell. Здесь я перечислю различные способы замены PowerShell на CMD.

 Метод 1 (Использование свойств панели задач)

Чтобы заменить PowerShell на CMD в меню Windows:

  1. Щелкните правой кнопкой мыши на панели задач Windows 10 и выберите свойства.

2. На правой панели переключите кнопку рядом с Замените командную строку Windows PowerShell в меню, когда я щелкну правой кнопкой мыши кнопку «Пуск» или нажму Win + X, чтобы выключить.

Когда вы выходите из окна настроек, PowerShell будет заменен на CMD.

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

 Способ 2 (с помощью редактора реестра)

Контекстное меню отображается при нажатии Shift + правый клик в каталоге. Замена PowerShell в контекстном меню требует изменения в реестре. Я покажу метод замены PowerShell на CMD в контекстном меню.

  • Заметкавнесение изменений в реестр может привести к повреждению компьютера, если все сделано неправильно. Я рекомендую создать резервную копию вашего реестра на случай, если что-то пойдет не так.
  1. Откройте Блокнот как Администратор, щелкнув правой кнопкой мыши по поисковому запросу.
  2. Вставьте следующий текст в редакторе.

Редактор реестра Windows, версия

[HKEY_CLASSES_ROOT \ Directory \ Shell \ cmdprompt] @ = «@ , -8506» «Extended» = «» «NoWorkingDirectory» = «»

[HKEY_CLASSES_ROOT \ Directory \ Shell \ cmdprompt \ команда] @ = » / s / k pushd \»% V \ «»

[HKEY_CLASSES_ROOT \ Directory \ Background \ Shell \ cmdprompt] @ = «@ , -8506» «Extended» = «» «NoWorkingDirectory» = «»

[HKEY_CLASSES_ROOT \ Directory \ Background \ Shell \ cmdprompt \ команда] @ = » / s / k pushd \»% V \ «»

[HKEY_CLASSES_ROOT \ Drive \ оболочки \ cmdprompt] @ = «@ , -8506» «Extended» = «» «NoWorkingDirectory» = «»

[HKEY_CLASSES_ROOT \ Drive \ оболочки \ cmdprompt \ команда] @ = » / s / k pushd \»% V \ «»

      3. Откройте Сохранить Нажмите на Сохранить как. Назовите файл

      4. Выберите место, где вы хотите сохранить его. Нажмите на сохранить. Помните, что расширение должно быть только .reg.

      5. Дважды щелкните по файлу .reg, который вы только что создали. Нажмите на да в Запрос контроля учетных записей.

Это объединит созданный вами файл реестра с вашим существующим реестром. Тебе нужно перезапустите проводник из диспетчера задач. После этого в контекстном меню вместо PowerShell появится CMD.

Кроме того, вы можете вручную редактировать значения реестра. Далее я покажу вам как использовать редактор реестра вручную в заменить PowerShell на CMD.

  2. Перейдите по следующему пути или вставьте его в адресную строку редактора реестра:

Компьютер \ HKEY_CLASSES_ROOT \ Directory \ Background \ оболочки

 3. Найти CMD в левой панели. Щелкните правой кнопкой мыши на ключе и выберите права доступа.

 4. Выберите продвинутый.

 5. Выберите + Изменить кнопка рядом с владелец на вершине продвинутый.

 6. В поле ввода введите свое имя пользователя (или адрес электронной почты Microsoft). Нажмите Войти.

 7. Вернуться в права доступа окно; Выбрать Администраторы в верхней части выберите Полный контроль из нижней части. Выбрать Подать заявление

 8. Удалить DWORD HideBasedOnVelocityId в панели CMD.

9. Измените то же самое права доступа за PowerShell Выполните те же действия, что и выше.

10. После того, как вы измените Полные права доступа, создайте запись DWORD (32-битная) Значение и назовите ее HideBasedOnVelocityId

11. Дважды щелкните по записи, которую вы только что создали, и измените ее шестнадцатеричное значение на 639bc8

После этого вы заменили PowerShell на CMD в контекстном меню.

Вывод

Несмотря на то, что Microsoft утверждает, что PowerShell является более мощным, с CMD связан фактор ностальгии. Используя методы, приведенные выше, вы теперь знаете как вернуть CMD вместо PowerShell в контекстном меню и меню Windows (WinX) в Windows 10. Считаете ли вы какой-либо из этих методов полезным? Комментарий ниже, если вы заменили PowerShell на CMD.

Другие способы открыть PowerShell

Выше перечислены далеко не все способы открытия Windows PowerShell, но, уверен, что их будет вполне достаточно. Если же нет, то:

  • Можно найти PowerShell в меню пуск. Для запуска от администратора используйте контекстное меню. 
  • Можно запустить файл exe в папке C:\Windows\System32\WindowsPowerShell. Для прав администратора, аналогично, используем меню по правому щелчку мышью. 
  • Если ввести powershell в командной строке, также будет запущен нужный инструмент (но в интерфейсе командной строки). Если при этом командная строка была запущена от имени администратора, то и PowerShell будет работать от имени администратора. 

Также, бывает, спрашивают, а что такое PowerShell ISE и PowerShell x86, которые находятся, например, при использовании первого способа. Отвечаю: PowerShell ISE — «Интегрированная среда сценариев PowerShell». По сути, с её помощью можно выполнять все те же команды, но, помимо этого, в ней присутствуют дополнительные возможности, облегчающие работу со скриптами PowerShell (справка, инструменты отладки, цветовая разметка, дополнительные горячие клавиши и т.п.). В свою очередь версии x86 нужны в случае, если вы работаете с 32-битными объектами или с удаленной системой x86.

в Телеграм

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Нестандартные способы использования Android
  • Как убрать список для чтения Google Chrome
  • Ошибка в данных CRC — как исправить
  • Анимация окон Windows 10 в Stardock WindowFX
  • Как подключить Bluetooth наушники к ноутбуку или компьютеру
  • Как убрать рекламу в правом нижнем углу экрана Windows 10