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

Съдържание:

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

Видео: Как да изпълните PowerShell команди на отдалечени компютри

Видео: Как да изпълните PowerShell команди на отдалечени компютри
Видео: Understanding and Troubleshooting Windows Search and Indexing - YouTube 2024, Може
Anonim
PowerShell Remoting ви позволява да стартирате PowerShell команди или да имате достъп до пълни PowerShell сесии на отдалечени Windows системи. Това е подобно на SSH за достъп до отдалечени терминали на други операционни системи.
PowerShell Remoting ви позволява да стартирате PowerShell команди или да имате достъп до пълни PowerShell сесии на отдалечени Windows системи. Това е подобно на SSH за достъп до отдалечени терминали на други операционни системи.

PowerShell е заключен по подразбиране, така че трябва да активирате PowerShell Remoting, преди да го използвате. Този процес на настройка е малко по-сложен, ако използвате работна група вместо домейн, например в домашна мрежа, но ще ви преведем през нея.

Активирайте пренасочването на PowerShell на компютъра, който искате да осъществите отдалечено

Първата стъпка е да активирате PowerShell Remoting на компютъра, на който искате да осъществявате отдалечени връзки. На този компютър ще трябва да отворите PowerShell с администраторски права.

В Windows 10, натиснете Windows + X и след това изберете PowerShell (Admin) от менюто Power User.

В Windows 7 или 8 натиснете Start и след това напишете "powerhell". Щракнете с десния бутон върху резултата и изберете "Run as administrator".
В Windows 7 или 8 натиснете Start и след това напишете "powerhell". Щракнете с десния бутон върху резултата и изберете "Run as administrator".
В прозореца PowerShell въведете следното cmdlet (името на PowerShell за команда) и натиснете Enter:
В прозореца PowerShell въведете следното cmdlet (името на PowerShell за команда) и натиснете Enter:

Enable-PSRemoting -Force

Тази команда стартира услугата WinRM, настройва я да стартира автоматично със системата и създава правило за защитната стена, което позволява входящите връзки. Най-
Тази команда стартира услугата WinRM, настройва я да стартира автоматично със системата и създава правило за защитната стена, което позволява входящите връзки. Най-

-Force

част от cmdlet казва на PowerShell да изпълнява тези действия, без да ви подканя за всяка стъпка.

Ако вашите компютри са част от домейн, това е цялата настройка, която трябва да направите. Можете да пропуснете напред, за да тествате връзката си. Ако вашите компютри са част от работна група, която вероятно са в домашна или малка бизнес мрежа, имате малко повече настройки.

Забележка: Вашият успех при настройването на remoting в домейна зависи изцяло от настройката на вашата мрежа. Премахването може да бъде деактивирано или дори да е активирано автоматично от групова политика, конфигурирана от администратор. Възможно е също да нямате разрешенията, от които се нуждаете, за да стартирате PowerShell като администратор. Както винаги, проверете с администраторите си, преди да опитате нещо подобно. Те биха могли да имат добри основания да не позволяват практиката или да са готови да я направят за вас.

Настройте вашата работна група

Ако вашите компютри не са в домейн, трябва да изпълните още няколко стъпки, за да настроите нещата. Трябва да сте активирали вече Remoting на компютъра, към който искате да се свържете, както описахме в предишната секция.

Забележка: За да може PowerShell Remoting да работи в среда на работната група, трябва да конфигурирате мрежата си като частна, а не обществена мрежа. За повече информация относно разликата и как да промените частна мрежа, ако вече имате обществена мрежа, проверете нашето ръководство за частни и обществени мрежи.

След това трябва да конфигурирате настройката TrustedHosts както на компютъра, към който искате да се свържетеи компютрите (или компютрите), от които искате да се свържете, така че компютрите да се доверяват взаимно. Можете да направите това по един от двата начина.

Ако сте в домашна мрежа, където искате да продължите и имате доверие на всеки компютър, за да се свържете отдалечено, можете да въведете следното cmdlet в PowerShell (отново ще трябва да го стартирате като администратор).

Set-Item wsman:localhostclient rustedhosts *

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

След като стартирате тази команда, ще трябва да рестартирате услугата WinRM, така че вашите нови настройки да влязат в сила. Въведете следната cmdlet и натиснете Enter:

Restart-Service WinRM

И не забравяйте, че ще трябва да изпълните тези две команди на компютъра, към който искате да се свържете, както и на компютрите, от които искате да се свържете.
И не забравяйте, че ще трябва да изпълните тези две команди на компютъра, към който искате да се свържете, както и на компютрите, от които искате да се свържете.

Тествайте връзката

След като вече сте настроили компютрите си за PowerShell Remoting, е време да тествате връзката. На компютъра, от който искате да получите достъп до отдалечената система, въведете следната cmdlet в PowerShell (замествайки "COMPUTER" с името или IP адреса на отдалечения компютър) и след това натиснете Enter:

Test-WsMan COMPUTER

Тази проста команда проверява дали услугата WinRM работи на отдалечения компютър. Ако успешно завърши, ще видите информация за услугата WinRM на отдалечения компютър в прозореца, което означава, че WinRM е активиран и вашият компютър може да комуникира. Ако командата не успее, вместо това ще видите съобщение за грешка.

Image
Image

Изпълнение на едно дистанционно управление

За да стартирате команда на отдалечената система, използвайте

Invoke-Command

cmdlet, като използвате следния синтаксис:

Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME

"COMPUTER" представлява името или IP адреса на отдалечения компютър. "COMMAND" е командата, която искате да изпълните. "USERNAME" е потребителското име, което искате да изпълнява командата, както на отдалечения компютър. Ще бъдете подканени да въведете парола за потребителското име.

Ето един пример. Искам да видя съдържанието на директорията C: на отдалечен компютър с IP адрес 10.0.0.22. Искам да използвам потребителското име "wjgle", затова ще използвам следната команда:

Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock { Get-ChildItem C: } -credential wjgle

Image
Image

Стартирайте отдалечена сесия

Ако имате няколко кратки команди, които искате да стартирате на отдалечения компютър, вместо да въведете повторно cmdlet Invoke-Command и отдалечения IP адрес, можете вместо това да стартирате отдалечена сесия. Просто въведете следната cmdlet и натиснете Enter:

Enter-PSSession -ComputerName COMPUTER -Credential USER

Отново заменете "COMPUTER" с името или IP адреса на отдалечения компютър и заменете "USER" с името на потребителския акаунт, който искате да извикате.

Препоръчано: