ПредишенСледващото

Във версията на Windows PowerShell 2.0 се прилага алтернативен механизъм за свързване с отдалечени компютри, наречен на отдалечен достъп (отдалечен достъп). Този механизъм се използва инструментите на отдалечено управление на Windows (Windows Remote Management, WinRM). Тя осигурява връзка с отдалечен компютър и стартирайте командите се изпълняват на отдалечения компютър

ИТ инфраструктурата за вашето предприятие

Развитие PowerShell 1.0 черупка е истински пробив в развитието на XP контрол на Windows и оборудване за автоматизация, както и по-нови версии на Windows платформа. На базата на платформата. NET Framework PowerShell 1.0 технология включва единна структура команди (кратки команди), той е надарен с мощни вградени инструменти за форматиране на изхода и осигурява значително увеличаване на наличието на други технологии, и най-вече - Windows инструменти за управление (WMI). Все пак, въпреки че някои компоненти PowerShell 1.0 командни обекти. NET може да се свърже с отдалечени компютри, тази функция се различава в зависимост от конкретния случай. Команди, които поддържат отдалечени връзки са -ComputerName параметър; В допълнение, когато се установява връзки, които те използват, или отдалечено повикване на процедури (RPC), или DCOM модел.

В много ситуации, RPC и DCOM и с управленски задачи, но при извършване на диагностични процедури и при идентифициране на причините за проблеми понякога имат проблеми. Например, команда Get-Service може да чете услуги за данни от отдалечен компютър с помощта на параметър -ComputerName, но този отбор няма право на избор -Credential и следователно за изпълнението му трябва да се регистрирате с акаунт, който има разрешение за достъп до отдалечената система.

Но в Windows PowerShell версия 2.0 се прилага алтернативен механизъм за свързване с отдалечени компютри, наречен на отдалечен достъп (отдалечен достъп). Този механизъм се използва инструментите на отдалечено управление на Windows (Windows Remote Management, WinRM). Тя осигурява връзка с отдалечен компютър и стартирайте командите се изпълняват на отдалечения компютър. Нека илюстрираме това с един пример. средства за свързване с отдалечен работен плот, обърнете се към графичния потребителски интерфейс, както и дистанционно свързване към командния ред PowerShell. Когато стартирате команда компонент използване механизъм за отдалечен достъп, екипът в действителност се изпълнява на отдалечения компютър, но резултатите, които могат да се видят на локалната машина.

Къде мога да намеря Windows PowerShell 2.0

Включване на Remoting функции

За да може компютърът да установи връзки с отдалечени системи, на които се инсталират PowerShell, трябва да предоставите на следните условия.

Ако компютърът няма да приема връзки от PowerShell черупки, монтирани на отдалечен компютър, изпълнение на тези условия не е необходимо.

Изпълнение на една команда на отдалечен компютър

Най-лесният начин да се свърже с околната среда PowerShell на отдалечен компютър - използвайте Enter-PSSession команда. По подразбиране, тази команда се изпълнява с параметър -ComputerName, така че, когато входът му от клавиатурата, този параметър може да се пропусне. Например, за да се свърже с отдалечен компютър с Rigel името да въведете от клавиатурата

Забележка: За пълнота на изложението да включа в текста на поканата. Не е необходимо да влезете на покана, като част от екип.

След като въведете отдалечената сесия, PowerShell промени бърза синтаксис. Сега тя ще включва в скоби името на отдалечения компютър; това ще означава, че сте установили връзка с отдалечения компютър. В този случай, по покана ще изглежда така:

След установяване на дистанционна връзка на всички команди, които сте въвели в командния ред ще се изпълнява на отдалечената машина. Например, ако сте написали

Get-ChildItem команда се изпълнява на отдалечената машина. Неговата продукция ще съдържа имената на файлове и папки, съхранени в устройство C на отдалечен компютър. За да завършите отдалечен достъп сесия, използвайте командата Exit-PSSession

Script единица изпълнение (Scriptblock) на отдалечен компютър

Отдалеченият достъп Използването PowerShell ви позволява да извършвате отдалечен компютър скриптов блок, или scriptblock (т.е. блок PowerShell код, оградена със скоби). За да направите това, използвайте командата Invoke и управление с параметър -ComputerName. Например, като екип, показани на фигура 1, съм използвал Invoke-Command команда, за да извършите Get-ChildItem на отдалечен компютър. Гледайки през екрана 1, имайте предвид, че с цел да се установи връзка с отдалечения компютър, преди да стартирате скрипт блок, не използвайте Enter-PSSession команда. Отбори Въведете-PSSession и Invoke и управление - това са две различни методи за дистанционна комуникация.

Дистанционно взаимодействие между PowerShell 2

Екран 1. Извършване на скриптов блок на отдалечения компютър

Първият параметър на Invoke-Command команда за създаване -ScriptBlock; той посочва към кода, че сте на път да се изпълни. Фигура 1 I са пропуснати името на -ScriptBlock параметър, тъй като това означава, че не е необходимо. -ComputerName параметър съдържа името на отдалечения компютър. Както може да се види на изхода на командата Get-ChildItem, PowerShell среда за удобство на оператора, дори уточни дистанционно името на компютъра в изхода на колона PSComputerName.

Изпълнение на блока скрипт на няколко отдалечени компютри

Скрипт блок може да се извърши на няколко отдалечени компютри. Тази конфигурация се нарича "един към много" или фен-внедряване. Фигура 1 определяне -ComputerName Invoke-Command команда съдържа същото име, но може също да се включат повече имена на компютри. Така че, екипът

осигурява командата Get-ChildItem на два отдалечени компютри. Текстът на статията, тази команда е разделена на няколко реда, но в конзолата PowerShell, тя трябва да бъде вписан в един ред. Същото важи и за другите отбори, разделени в няколко реда. Точно както на фигура 1, колоната PsComputerName в изходните данни ще съдържа имената на компютрите.

Изпълнение на блока скрипт във фонов режим

PowerShell 2.0 среда дава възможност за извършване на фонови задачи, което означава, че операторът може да изпълните командата на заден план. Тази функция е полезна, когато стартирате командата, изпълнението на който изисква много време.

За да стартирате фон работа на локалния компютър, можете да използвате командата Start-Йов. Но трябва да кажа, че екипът не е -ComputerName параметър, което означава, че тя не може да се използва за извършване на работа на фона на отдалечена машина. Вместо това, вие ще трябва да изпълнява командата Invoke и управление с параметър -AsJob. По този начин, на фигура 2 на горния блок команден скрипт изпълнение започва задача фон на отдалечен компютър Титан. След като влезе тази команда на екрана веднага се появи покана: PowerShell скрипт блок изпраща за изпълнение на отдалечен компютър, а след това ми даде назад контрол. предупредителни гласи, че командата не се вписваха в конзолния прозорец, и затова не е бил включен в изхода. Ако бях в конзолния прозорец е по-широк, PowerShell форматиране черупка инструмент ще включва команда в списъка за изход. Колоните Id и определи име задача (ID и приятелски име, съответно), а в колоната членка показва състоянието на работата: бягане, спряно или е сключено. В HasMoreData колона съдържа информация, че осигурените данни, отнасящи се до определена работа или задача, която съдържа по-голямо количество информация, за да се научат.

Дистанционно взаимодействие между PowerShell 2

Екран 2. Извършване на скриптов блок във фонов режим на отдалечен компютър

За да се определи дали изпълнението на партидата работа е пълна, можете да изпълните команда Get-Job, като втори отбор на екрана 2. Ако не използвате никакви параметри, Get-Job проверява състоянието на всички работни места започва през текущата сесия. Ако използвате няколко задачи в същото време, можете да използвате опции като -id или -name, за да покаже какво точно работата, която искате да проверите. Когато изпълнението на задачата на фона приключи, членка колона изходните данни ще има стойност Завършен.

За да прочетете резултатите от фон работа да използвате команда Получаване на работното място. Тази команда, като команда Get-Job, се връща на изхода на всички работни места започва през текущата сесия, ако не сте използвали възможността да покаже, каква работа ви интересува. Така че, последният отбор на екрана 2 включва параметър -id, което показва, че е необходимо да се получи на изхода на идентификатора за работа 9. Намалих -id име на параметър, тъй като тя не е задължителна. Фигура 3 показва на последния ред на изходни данни, свързани с изпълнението на дистанционно разглежда на фона на работни места.

Дистанционно взаимодействие между PowerShell 2

3. Екран Примерни резултати от пакетно задание на отдалечен компютър

Създаване PowerShell сесия

Горните примери показват как да получите достъп до поканата PowerShell на отдалечената машина, и как да се изпълняват команди на отдалечени компютри. Но аз все още не съм споменал, че за отдалечен винаги се извършва в рамките на сесията. Сесия - това е, така да се каже, място PowerShell местообитания. Когато отворите прозореца на PowerShell конзола или интегрирани прозорец скриптове среда (ISE) PowerShell, вие създавате една сесия. Без използване на дистанционна комуникация означава всички сесии на локалния компютър и не зависи от един на друг. Във всички примерите по-горе за отдалечен създава временни сесии автоматично се прекратяват в края на отдалечен достъп. В допълнение, това е възможно да се създаде инстанция на отдалечен достъп сесии и да ги използвате отново. Този подход е много по-ефективен, когато имате нужда от достъп отдалечени компютри повече от веднъж.

За да създадете нова сесия, използвайте Ню-PSSession команда за параметър -ComputerName. Името на параметъра в командата може да се пропусне. Така че, екипът

и натиснете клавиша за нов ред. Параметър -Session Invoke-Command команден поддържа сесии обекти, създадени с помощта на командата New-PSSession, така че можете да продължите да използвате команда по следния начин:

Тази команда се изпълнява командата Get-ChildItem на машини Финиъс, Фърб и круши, но не прекъсва връзката. Можете да добавите опция -AsJob и работи във фонов режим:

След това можете да използвате команда Get-афера и получаване на работното място, за да проверите състоянието на работа и получаване на резултатите от нея.

Нов подход за работа

Бил Стюарт ([email protected]) - система и мрежов администратор на френски Дом на покойника, Ню Мексико

Сподели снимки с приятели и колеги

Свързани статии

Подкрепете проекта - споделете линка, благодаря!