Включаем PowerShell Remoting через групповые политики.

Windows 7 и Windows Server 2008 R2 уже в состоянии RTM, а в них уже встроен PowerShell v2.0. Соответственно, самые прогрессивные администраторы уже смогут использовать PowerShell Remoting в реальном, не тестовом окружении.

Так как в целях безопасности Remoting разумеется отключён в конфигурации по умолчанию, то надо будет его включить. Сделать это можно с помощью командлета Enable-PSRemoting (причем надо выполнить его и на управляющем и управляемом компьютерах). Чтобы командлет не задавал лишних вопросов, достаточно добавить к нему ключ –Force.

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

И тут нам на помощь, приходят старые добрые групповые политики 🙂 К сожалению (или к счастью?) галочка “сделать чтоб ремотинг заработал” отсутствует 🙂 Так что с помощью групповой политики придётся произвести несколько отдельных настроек.

Во-первых надо создать “Listener”, так называемый “слушатель”, который будет принимать входящие подключения WinRM на определённый порт, с определёнными настройками. Listener’ов можно создать несколько, назначить различные разрешения на подключения к ним, порты, параметры безопасности, и ограничения. Но мы сейчас ограничимся созданием простого “слушателя” с настройками по умолчанию. Он будет принимать подключения от пользователей с административными полномочиями, на порт 5985. Создать его легко с помощью административных шаблонов групповой политики: Computer Configuration / Policies / Administrative Templates / Windows Components / Windows Remote Management (WinRM) / WinRM Service. Тут, в элементе Allow automatic configuration of listeners можно разрешить автоматическое создание “слушателя” по умолчанию, и указать для него диапазоны адресов с которых он будет принимать подключения (ipv4 и ipv6). Впрочем можно разрешить подключения отовсюду, поставив звёздочку (*). Рядом можно изменить некоторые другие настройки WinRM, или включить Listener’ы слушающие на портах 80 и 443 (Turn On Compatibility HTTP(S) Listener), стандартных для HTTP и HTTPS.

psr_listener

Ну и последняя настройка – разрешить подключения на соответствующий порт, в Windows Firewall. Делается это тоже с помощью групповых политик, в узле Computer Configuration / Policies / Windows Settings / Security Settings / Windows Firewall with Advanced Security / Inbound Rules.

Здесь просто нужно с помощью мастера, создать правило разрешающее подключение на соответствующие порты. Для этого можно использовать предустановленное правило Windows Remote Management.

psr_fw

Всё, теперь останется лишь подождать применения этой политики на компьютеры.

Ну и напоследок, файлы встроенной справки по Remoting’у:

PS C:\> get-help about_remote* | Format-Table Name, Synopsis -AutoSize

Name                         Synopsis
----                         --------
about_remote                 Describes how to run remote commands in Windows PowerShell.
about_remote_FAQ             Contains questions and answers about running remote commands
about_remote_jobs            Describes how to run background jobs on remote computers.
about_remote_output          Describes how to interpret and format the output of remote commands.
about_remote_requirements    Describes the system requirements and configuration requirements for
about_remote_troubleshooting Describes how to troubleshoot remote operations in Windows PowerShell.

Очень рекомендую с ними ознакомится.

PowerTab для PowerShell v2 CTP3, Windows 7 и Windows Server 2008 R2

Стараниями /\/\o\/\/ и Oisin Grehan обновился скрипт для расширения возможностей автозавершения в PowerShell (WMI,.NET,графическое автодополнение как в VS и т.д.). Эта версия обновлена для нормальной работы в PowerShell v2 CTP3 и Windows 7.

pt1

pt2 

Качать тут. Скринкаст о том что это, зачем, и как поставить, смотреть тут (14 MB, Wmv).

Опубликовано в News, PowerShell, PowerTab, Scripting, Utility, Windows 2008 R2, Windows 7. Метки: , , . Комментарии к записи PowerTab для PowerShell v2 CTP3, Windows 7 и Windows Server 2008 R2 отключены

PowerShell ISE

Наверняка вы уже наслышаны о том что в следующей версии PowerShell будет доступна графическая консоль/редактор, который называется PowerShell ISE (Integrated Scripting Environment). В этом посте я постараюсь рассказать о том что это такое, и зачем оно нужно 🙂

ise_01

Как видно из этого скриншота, ISE является полноценным редактором с подсветкой кода, закладками (табами), и возможностью выполнения интерактивных команд. Это крайне удобно при написании сценариев: можно легко протестировать команду, и затем добавить её в основной код. Или наоборот выполнить несколько строк выделенных в открытом файле.

Кроме этого ISE автодополняет набираемый код по нажатию Tab как в командной строке, так и в файлах скрипта. Естественно автодополняются не только названия команд, но и параметры, имена переменных, и т.д., так же как и в привычной консоли.

Еще в ISE встроен отличный отладчик. Ввы можете расставлять брейкпойнты (F9), запускать пошаговое выполнение, просматривать содержимое переменных наводя на них курсор, и т.д,:

image

Когда я первый раз увидел ранние версии этой утилиты, я сразу захотел иметь возможность открыть несколько закладок, с интерактивными сессиями PowerShell на других компьютерах. К сожалению тогда это было невозможно. Но сейчас, в Windows 7 (или PowerShell CTP3) нет ничего проще! 😉

image

В PowerShell ISE доступен специальный объект, $PsISE, с помощью которого можно управлять интерфейсом утилиты, и даже расширять его, например добавляя свои собственные элементы меню.

Так как ISE создавался с нуля, для PowerShell, он не страдает болезнями доставшимися PowerShell.exe от консольной подсистемы Windows (которая почти не изменилась со времен Windows 2000). Так например он изначально, полностью, стопроцентно поддерживает Unicode, и в нем можно легко менять шрифты, и их размер. Но у всего хорошего есть цена… В PowerShell не получится выполнять команды которые привыкли работать с экраном консоли напрямую. Это относится например к интерактивным режимам cmd.exe, netsh или diskpart. Нет, вы вполне сможете использовать эти утилиты, но вот войти в их интерактивный “subshell” не получится.

image

Еще много всего интересного про PowerShell ISE можно прочитать в блоге разработчиков,

Опубликовано в 2.0, PowerShell, Windows 2008 R2, Windows 7. Метки: , , . 1 Comment »

Windows Troubleshooting Platform

Те кто уже занимается тестированием Windows 7 могли заметить на присутствие нового элемента в панели управления – Troubleshooting (или Find and Fix Problems). А многие ли задумались о том что это такое?

image

Читать далее…

Опубликовано в Windows 2008 R2, Windows 7. Метки: , . Комментарии к записи Windows Troubleshooting Platform отключены

Запуск процесса на удалённом компьютере – PowerShell Remoting

WinRM

Одна из главных возможностей PowerShell 2.0 это Remoting, возможности удалённого выполнения команд. Так как PowerShell 2.0 на момент написания этого находится в стадии CTP3 (а еще входит в состав Window7/2008R2 beta1) применять его в реальном окружении пока рановато, но готовиться и изучать надо уже сейчас, потому как таких возможностей как PS Remoting ни одно другое средство не предоставляет. Тем более что PS 2.0 вошел в достаточно стабильную стадию, и больших изменений перед релизом уже не планируется.

Читать далее…