2012/04/23

PowerShell - путь к успеху

PowerShell - некое расширение cmd.exe, плотно взаимодействующее с .NET, позволяющее выполнять различные команды и тем самым автоматизировать работу в системе. Есть возможность удаленного подключения во второй версии, прямо как SSH!
Правда сам язык команд крайне сложен в понимании, а справка организована весьма плачевно. Тем не менее, это уже хоть что-то.

В современных виндоусах он присутствует по умолчанию, в старых версиях же придется немного попотеть, доустановив нужные компоненты:
1. NET. Framework 2.0 SP1
2. Windows Management Framework Core

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

Для того, чтобы иметь возможность подключаться к компьютеру удаленно через PowerShell, нужно для начала активировать эту возможность:
Enable-PSRemoting
Кроме того, нужно быть в списке доверенных хостов, по умолчанию там никого нет. Не будем долго запариваться и разрешим всем хостам соединяться:
Set-Item WSMan:\localhost\Client\TrustedHosts *
Ну и последним сюрпризом стало то, что просто так скрипты не запустишь, их выполнение либо совсем отключено, либо они должны быть подписаны! Для устранения этого недостатка просто изменим политику:
Set-ExecutionPolicy Unrestricted
После всех этих манипуляций наконец-то придем к успеху - удаленному запуску скриптов на машине с PowerShell:
Invoke-Command -ComputerName "mycomfyserver" -credential Administrator -FilePath D:\myscript.ps1

No comments:

Post a Comment