Daljinsko upravljanje sustavom Windows pomoću WinRM-a. WinRM - daljinski rad s PowerShell Winrm parametrima

Daljinsko upravljanje sustavom Windows pomoću WinRM-a.  WinRM - daljinski rad s PowerShell Winrm parametrima
Daljinsko upravljanje sustavom Windows pomoću WinRM-a. WinRM - daljinski rad s PowerShell Winrm parametrima

17.10.2011 Don Jones

Shvatio sam da su kreatori PowerShella bili malo lijeni, i to je dobra stvar. Nisu htjeli kodirati parametar -ComputerName za svaku naredbu, pa su stvorili opći sustav nazvan "remoting". U biti, ovaj sustav omogućuje pokretanje bilo koje naredbe na udaljenom računalu. Možete čak pokrenuti različite naredbe koje postoje na udaljenom računalu, ali ne postoje na vašem. To znači da ne morate neprestano instalirati svaku naredbu na svoju radnu stanicu. Ovaj udaljeni sustav vrlo je učinkovit i pruža niz zanimljivih administrativnih značajki

Kad sam počeo koristiti PowerShell, zainteresirao me naredba Get-Service i primijetio sam da ima parametar -ComputerName. Ne znači li to da se na uslugu možete povezati s drugih računala? Nakon brojnih eksperimenata otkrio sam da je to točno ono što piše. Zainteresirao sam se i počeo tražiti parametre -ComputerName iz drugih naredbi. I uznemirio sam se kad sam saznao da ih je malo.

PowerShell pruža dvije vrste udaljenog upravljanja: udaljeno upravljanje jedan-na-jedan (1:1) i udaljeno upravljanje jedan-na-više (1:n). Prije nego što govorim o njima, želim objasniti neke osnove.

Osnove daljinskog upravljanja u PowerShell-u

PowerShell daljinsko upravljanje radi slično kao Telnet i druge starije tehnologije daljinskog upravljanja. Kada pokrenete naredbu, ona se zapravo izvodi na udaljenom računalu. Sve što se vrati na vaše računalo je rezultat ove naredbe. Za razliku od Telneta ili Secure Shell-a (SSH), PowerShell koristi novi protokol komunikacijskog sustava pod nazivom Web usluge za upravljanje (WS-Management). Protokol radi povrh HTTP ili HTTP Secure (HTTPS), što olakšava usmjeravanje kroz vatrozid ako je potrebno, budući da protokol koristi samo jedan priključak za uspostavljanje komunikacije. Microsoftova implementacija WS-Managementa dolazi u obliku pozadinske usluge pod nazivom Windows Remote Management. WinRM je instaliran s PowerShell 2.0 i radi prema zadanim postavkama na poslužiteljima kao što je Windows Server 2008 R2. U sustavu Windows 7 instaliran je prema zadanim postavkama, ali nije aktiviran. Morate aktivirati WinRM na računalima kojima želite poslati naredbu. Računalo iza kojeg se fizički nalazite ne mora pokrenuti uslugu WinRM.

Sve PowerShell naredbe proizvode objekte kao izlaz. Kada naredbu pokrenete na daljinu, njezin izlaz mora biti u obliku koji se može lako prenijeti preko mreže koristeći HTTP ili HTTPS. Na primjer, PowerShell automatski pretvara izlazne objekte u XML datoteke koje se šalju preko mreže. Nakon što dođu do vašeg računala, pretvaraju se natrag u objekte s kojima PowerShell može raditi. Međutim, ti nazad konvertirani objekti zapravo su snimke. Ne mogu se ažurirati svake minute. Dakle, ako morate doći do objekata koji predstavljaju procese koji se izvode na udaljenom računalu, tada će dobiveni rezultat biti istinit samo za određeni vremenski period tijekom kojeg su ti objekti generirani. Vrijednosti poput upotrebe memorije i CPU-a neće se promijeniti. Štoviše, nećete moći prisiliti pretvorene objekte da rade bilo što. Na primjer, ne možete narediti objektu da sam sebe zaustavi. Ovo je veliko ograničenje daljinske suradnje, ali vas neće spriječiti da radite i činite zanimljive stvari.

Postoji samo nekoliko osnovnih zahtjeva za korištenje sustava za daljinsko upravljanje.

  • Kako bi vaše računalo (odnosno lokalno računalo) i ono kojem želite poslati naredbu (odnosno udaljeno računalo) trebali raditi s Windows PowerShell 2.0? Windows XP naslijeđena je verzija sustava Windows na koju možete instalirati PowerShell 2.0. Dakle, stara verzija također može sudjelovati u udaljenoj sesiji.
  • U idealnom slučaju, lokalno i udaljeno računalo trebaju biti članovi iste domene ili članovi pouzdanih/povjerljivih domena. Sa sustavom udaljenog upravljanja možete raditi izvan domene, ali to je teško i o tome neću ovdje govoriti. Da biste saznali više o ovom scenariju, pogledajte temu pomoći za PowerShell o Remote_Troubleshooting.

WinRM pregled

Sada prijeđimo na WinRM, budući da morate konfigurirati postavke za ovu uslugu da biste započeli daljinsko upravljanje. Opet, samo trebate postaviti postavke daljinskog rada WinRM i PowerShell na udaljenom računalu. U većini okruženja u kojima sam radio, administratori su omogućili daljinsko upravljanje na svakom računalu s inačicama XP-a ili novijim. To omogućuje da se neopaženo uđe u stolna i prijenosna računala, što može biti vrlo korisno (što znači da korisnici takvih računala neće znati što rade).

To ne znači da je WinRM nešto posebno za PowerShell. WinRM može usmjeriti promet na više administrativnih aplikacija. U biti, WinRM djeluje kao dispečer. Kada promet stigne, WinRM odlučuje koja aplikacija treba komunicirati s njim i označava ga nazivom odredišne ​​aplikacije. Aplikacija koja prima mora se registrirati na WinRM kako bi WinRM mogao slušati dolazni promet u njeno ime. Drugim riječima, ne samo da trebate omogućiti WinRM, već i registrirati Power Shell kao krajnju točku za WinRM.

Najlakši način da izvršite oba zadatka je da pokrenete PowerShell kao administrator i pokrenete naredbu Enable-PSRemoting. Možete pogledati priručnik za drugu naredbu pod nazivom Set-WSManQuickConfig. Nema potrebe pokretati naredbu. Enable-PSRemoting to čini za vas, a također izvodi nekoliko drugih koraka koji su potrebni za uspostavljanje daljinske komunikacije i rada. U biti, naredba Enable-PSRemoting pokreće WinRM uslugu, konfigurira je za automatsko pokretanje, registrira PowerShell kao krajnju točku i čak postavlja iznimke u Windows vatrozidu kako bi se omogućio dolazni WinRM promet.

Ako ne želite proći kroz svako računalo da biste omogućili udaljeni rad, možete koristiti objekt pravila grupe (GPO). Potrebne GPO postavke ugrađene su u kontrolere domene Windows Server 2008 R2. Samo otvorite GPO i idite na rutu Computer Configuration\

Administrativni predlošci\Komponente sustava Windows. Na dnu popisa pronaći ćete postavke Remote Shell i Windows Remote Management (WRM) za koje trebate konfigurirati. Odjeljak za pomoć o problemima sa sustavom daljinske komunikacije (Remote_Troubleshooting) dat će vam detaljne upute kako to učiniti. Pregledajte odjeljke Kako omogućiti daljinsko upravljanje u poduzeću i Kako omogućiti slušatelje korištenjem grupnih pravila u pomoći.

WinRM 2.0 (koji PowerShell koristi) prema zadanim postavkama koristi TCP port 5985 za HTTP i port 5986 za HTTPS. Ovo osigurava da WinRM nije u sukobu s lokalno instaliranim web poslužiteljima koji su konfigurirani za slušanje na portovima 80 i 443. Možete konfigurirati WinRM da koristi alternativne portove, ali to ne preporučujem. Ako napustite ove priključke, sve PowerShell naredbe daljinskog pristupa će dobro raditi. Ako promijenite ove portove, uvijek ćete morati navesti alternativni port kada izvodite naredbu daljinskog pristupa. To znači da ćete morati tipkati više. Ako baš morate promijeniti port, možete unijeti naredbu:

Winrm je postavio winrm/config/ listener? Adresa=* +Transport=HTTP @(Port="1234")

Brojevi 1234 označavaju port koji vam je potreban. Ovdje je ova naredba napisana u više redaka, ali morate je unijeti u jednom redu. Isto vrijedi i za sve ostale naredbe opisane u članku. Ako trebate koristiti HTTPS umjesto http, možete izmijeniti ovu naredbu da biste konfigurirali novi HTTPS port. Moram priznati da postoji način za konfiguriranje WinRM postavki na lokalnim računalima kako bi se prema zadanim postavkama koristili alternativni portovi. Na ovaj način ne morate stalno definirati alternativni port kada pokrećete naredbu za daljinski pristup. Ali idemo raditi sa zadanim postavkama koje je dao Microsoft.

Ako istražite GPO postavke u Remote Shellu, primijetit ćete da možete postaviti, na primjer, koliko će dugo udaljena sesija ostati neaktivna prije nego što je poslužitelj prekine; koliko istodobnih korisnika može pristupiti udaljenom poslužitelju odjednom; koliko memorije i procesa svaka udaljena ljuska može koristiti; Maksimalni broj udaljenih ljuski koje korisnici mogu otvoriti odjednom. Ove postavke pomoći će osigurati da vaši poslužitelji nisu preopterećeni od strane zaboravnih administratora. Međutim, prema zadanim postavkama morate biti administrator da biste koristili udaljeni rad, tako da se ne morate brinuti da će vam obični korisnici začepiti poslužitelje.

Interakcija na daljinu 1:1

S daljinskim upravljanjem 1:1, u biti imate pristup naredbenom retku na jednom udaljenom računalu. Sve naredbe koje date izvode se izravno na udaljenom računalu, a rezultate vidite u prozoru naredbenog retka. Donekle je sličan korištenju veze s udaljenom radnom površinom, osim što ste ograničeni na okruženje naredbenog retka PowerShell. Udaljeno korištenje PowerShell-a koristi djelić resursa koje zahtijeva Remote Desktop, tako da ima mnogo manji utjecaj na vaše poslužitelje.

Da biste uspostavili vezu 1:1 s udaljenim računalom pod nazivom Server-R2, morate se pokrenuti

Enter-PSSession -Computername Server-R2

Pod pretpostavkom da ste omogućili daljinsko upravljanje na udaljenom uređaju, računalo je u istoj domeni i vaša mreža radi normalno, dobit ćete vezu koja vam je potrebna. PowerShell vam daje do znanja da ste postigli svoj cilj promjenom naredbenog retka u

PS C:\>

Dio vas obavještava da se sve što radite događa na Server-R2. Nakon toga možete izvoditi bilo koje naredbe koje želite. Možete čak uvesti bilo koje module i dodati PowerShell proširenja (PSSnapins) koja će se nalaziti na udaljenom računalu.

Čak će i dopuštenja ostati ista. Vaša kopija PowerShell-a radit će s istim sigurnosnim tokenom s kojim je pokrenuta. PowerShell to radi koristeći Kerberos, tako da ne prenosi korisničko ime i lozinku preko mreže. Svaka naredba koju pokrenete na udaljenom računalu izvodit će se pod vašim vjerodajnicama, tako da možete učiniti sve što imate dopuštenje. To je slično prijavljivanju izravno s konzole računala i korištenju kopije PowerShell-a tog računala. Gotovo je tako. Evo nekoliko razlika.

  • Ako imate PowerShell skriptu za svoj profil na udaljenom računalu, ona se neće pokrenuti kada se povežete pomoću sustava za daljinski pristup. Jednostavno rečeno, profili su paket naredbi koje se automatski pokreću svaki put kada otvorite prozor naredbenog retka. Koriste se za automatsko preuzimanje ekstenzija, modula i slično.
  • Ograničeni ste Politikom izvršavanja udaljenog računala. Recimo da je pravilo vašeg računala postavljeno na RemoteSigned tako da možete pokretati lokalne nepotpisane skripte. Ako je pravilo udaljenog računala postavljeno na Ograničeno (zadana postavka), neće dopustiti pokretanje skripti kada komunicirate na daljinu.

Mnoge PowerShell naredbe dolaze u parovima: jedna radi nešto, druga radi suprotno od toga. U našem slučaju, Enter-PSSession vas povezuje s udaljenim računalom, a Exit-PSSession zatvara tu vezu. Exit-PSSession ne zahtijeva nikakve parametre. Nakon pokretanja, udaljena veza se zatvara i vaš prozor naredbenog retka vraća se u normalu. Što ako zaboravite pokrenuti Exit-PSSession? Ne brini. PowerShell i WinRM mogu shvatiti što ste učinili i zatvoriti udaljenu vezu ako je potrebno.

Želim dati jedan savjet. Kada se spojite na udaljeno računalo, nemojte pokretati Enter-PSSession na njemu dok niste potpuno svjesni što radite. Na primjer, radite u ComputerA. Spajate se na Server-R2. Na liniji PowerShell koju pokrećete

PS C:\>Unesite-PSSession Server-DC4

Server-R2 sada sadrži otvorenu vezu s Server-DC4. Ovo stvara "lanac daljinskog povezivanja" kojem je teško ući u trag. Osim toga, vaši poslužitelji postaju nepotrebno preopterećeni. Ponekad ćete to morati učiniti (na primjer, Server-DC4 je iza vatrozida i ne možete mu pristupiti izravno, pa morate koristiti Server-R2 kao posrednika). Međutim, opće pravilo je sljedeće: pokušajte izbjeći udaljene lance.

1:n daljinsko upravljanje

Jedna od najboljih stvari o PowerShell-u je 1:n daljinsko upravljanje. Omogućuje slanje naredbi na više udaljenih računala u isto vrijeme - potpuno distribuirano računalstvo. Svako računalo će pojedinačno izvršiti naredbu i poslati vam rezultate. Sve se radi pomoću naredbe Invoke-Command u ovom obliku:

Invoke-Command -ComputerName Server-R2, Server-DC4, Server12 -Command (Get-EventLog Security -Newest 200 | Gdje ($_.EventID -eq 1212))

Naredba u vanjskim vitičastim zagradama šalje se na sva tri udaljena računala. Prema zadanim postavkama, PowerShell može komunicirati s do 32 računala odjednom. Ako navedete više od 32 računala, ona će biti stavljena u red čekanja. Zatim, kada se jedno računalo isključi, sljedeće izvršava naredbu. Ako imate jako brzu mrežu i moćna računala, možete povećati njihov broj pomoću parametra naredbe ThrottleLimit. Možete pročitati o tome kako koristiti ovaj parametar u Invoke-Command na stranici pomoći.

Jedini parametar koji nećete vidjeti na stranici pomoći ove naredbe je parametar naredbe. Kao što sam već pokazao, radi odlično. Parametar Command je alias ili kratki naziv za parametar ScriptBlock, koji je naveden na stranici pomoći. Lakše mi je koristiti Command, pa ga obično koristim umjesto ScriptBlocka, ali rade isto.

Ako ste pažljivo pročitali stranicu pomoći za Invoke-Command, primijetili ste i opciju koja vam omogućuje da navedete datoteku skripte umjesto naredbe. Parametar FilePath omogućuje slanje skripte udaljenim računalima; to znači da možete automatizirati neke složene zadatke i omogućiti svakom računalu da obavi svoj dio posla.

Sada se usredotočimo na parametar naziva računala. U primjeru koda Invoke-Command, imao sam popis imena računala odvojenih zarezima. Ako imate mnogo računala, možda nećete htjeti upisivati ​​njihova imena svaki put kada se povežete s njima. Umjesto toga, možete stvoriti tekstualnu datoteku koja sadrži jedno ime računala u jednom retku, bez zareza, navodnika ili bilo čega drugog. Na primjer, ako je vaša tekstualna datoteka nazvana webservers.txt, upotrijebili biste kôd poput ovog:

Invoke-Command -Command ( dir ) - ComputerName (Get-Content webservers.txt)

Zagrade prisiljavaju PowerShell da prvo izvrši naredbu Get-Content - to je slično načinu na koji zagrade rade u matematici. Rezultati Get-Contenta tada su ugniježđeni unutar parametra -ComputerName.

Također je moguće postaviti upit o imenu računala u Active Directory, ali to je kompliciranije. Da biste pronašli računalo, možete koristiti naredbu Get-ADComputer, ali naredbu nećete staviti u zagrade kao što ste učinili s Get-Content. Zašto ne? Get-Content proizvodi jednostavne tekstualne nizove, dok Get-ADComputer proizvodi objekte tipa "računalo". Parametar -ComputerName očekuje niz. Kad bi morao primiti računalne objekte, ne bi znao što bi s njima. Stoga, ako želite koristiti Get-ADComputer, trebate dobiti vrijednosti iz svojstva Name računalnih objekata. Kao ovo:

Invoke-Command -Command (dir) -ComputerName (Get-ADComputer -Filter * -SearchBase "ou=Sales, dc=company, dc=pri" | Select-Object -Expand Name)

U zagradama se računalni objekti prosljeđuju naredbi Select-Object, a parametar -Expand koristi se za pronalaženje svojstva Name tih računalnih objekata. Rezultat izraza u zagradama je skup naziva računala, a ne računalnih objekata. Nazivi računala upravo su ono što parametar -Computer Name treba.

Ako niste upoznati s Get-ADComputerom, pogledajmo što ova naredba radi. Parametar -Filter navodi da sva računala trebaju biti uključena u rezultate, a parametar -Search Base upućuje PowerShell da počne tražiti računala u prodajnoj organizacijskoj grupi (OU) u domeni company.pri. Naredba Get-ADComputer dostupna je samo u sustavima Windows Server 2008 R2 i Windows 7 nakon instaliranja alata za udaljenu administraciju poslužitelja. Na ovim operativnim sustavima koje izvodite

Import-Module ActiveDirectory

za učitavanje naredbi imeničke usluge u naredbenu ljusku kako bi se mogle koristiti.

Ima još nešto!

Svi ovi primjeri navedeni su za peer-to-peer sesije udaljenog povezivanja. Ako se namjeravate ponovno povezati s istim računalima (ili računalom) nekoliko puta u kratkom vremenskom razdoblju, možete stvoriti trajne sesije za višekratnu upotrebu. Ovo je vrlo korisno ako veza zahtijeva alternativne vjerodajnice, broj priključka koji nije zadani ili bilo što drugo što zahtijeva dodatne parametre.

Da biste stvorili trajne sesije, trebate koristiti naredbu New-PSSession, a zatim ih pohraniti u varijablu za lakši pristup. Na primjer, sljedeći kôd stvara udaljenu sesiju s tri računala i pohranjuje ih u varijablu $sessions:

$sessions = New-PSSession -ComputerName One, Two, Three -Port 5555 -Credential DOMAIN\Administrator

Udaljene sesije zatvaraju se automatski kada zatvorite naredbenu ljusku, ali do tada mogu zauzimati memoriju i nešto CPU-a na lokalnim i udaljenim sustavima. Da biste ih točno zatvorili, možete koristiti naredbu Remove-PSSession:

$sesije | Ukloni-PSSession

Kada trebate ponovno otvoriti sesije, možete koristiti Invoke-Command:

Invoke-Command -Command (dir) -Session $sessions

Ili možete koristiti Enter-PSSession:

Enter-PSSession -Session $session

Imajte na umu da se u kodu Enter-PSSession samo jedna udaljena sesija ponovno otvara. Indeksna varijabla 1 govori PowerShell-u da treba ponovno otvoriti sesiju s računalom pod nazivom Two (indeks se temelji na nuli).

Kao što vidimo, puno je prednosti PowerShell daljinskog upravljanja. Ako ga koristite, vidjet ćete koliko će vam proširiti vidike.

Don Jones ( [e-mail zaštićen]) tehnički je instruktor za PowerShell (www.windowsitpro.com/go/DonJonesPowerShell), autor više od 35 knjiga. Ima Microsoft MVP titulu



Pročitajte: 839

Provest ću vas kroz postupak kako možete centralno omogućiti i konfigurirati uslugu Windows Remote Management (WinRM) na svim ciljanim računalima koristeći SkupinaSigurnostPolitika. Windows Remote Management posebna je usluga koja administratorima omogućuje daljinski pristup i upravljanje klijentskim i poslužiteljskim operativnim sustavima Windows.

Uzmimo obično računaloWindows7 koja je uključena u domenu, a na kojoj funkcija nije aktiviranaWindowsDaljinskiUpravljanje. U naredbeni redak unesite sljedeću naredbu:

Pokrenimo naredbeni redak s administratorskim pravima.

Trebali biste vidjeti sljedeću poruku o pogrešci koja pokazuje da WRM nije instaliran:

Greška WSMan. Klijent se ne može spojiti na odredište navedeno u zahtjevu. Broj pogreške: – 2144108526 0?80338012

Ako trebate ručno konfigurirati WinRM na zasebnom sustavu, samo upišite naredbu:

winrm quickconfig

Razmatrao sam mogućnost instaliranja na jednu radnu stanicu.

Ako trebate konfigurirati WinRM na grupi računala, možete koristiti posebne postavke pravila grupe. Kreirajmo pravilo grupe za spremnik u kojem se nalaze radne stanice. Računalna konfiguracija- Političari - administrativni predlošci-> Windows komponente – Windows daljinski upravljač. Aktiviramo sljedeće parametre:

Windows klijent za daljinsko upravljanje.

Windows usluga daljinskog upravljanja

U odjeljku IPv4 filter naznači *, što znači da računalo može prihvatiti veze (i stoga kontrolirati naredbe) s bilo kojeg mjesta.

Dalje u odjeljku Računalna konfiguracija- Političari - Upravni predlošci – Windows komponente – Windows Remote Shell

Aktivirajte predmet:

Dopusti udaljeni pristup ljusci – Omogućeno

Načinom na koji se usluge pokreću možete upravljati iz sljedećeg odjeljka pravila grupe: Konfiguracija računala – Pravila – Konfiguracija sustava Windows – Sigurnosne postavke – Usluge sustava.

Otvorite uslugu “Windows Remote Management Service (WM-Management)” i izvršite postavke ispod, pogledajte snimak zaslona.

Sve je spremno. Ponovno pokrećemo radnu stanicu i nakon aktivacije WinRM-a pomoću pravila grupe, provjeravamo status usluge na klijentskom sustavu koristeći poznatu naredbu:

WinRM nabraja winrm/config/listener

Provjerite je li tip pokretanja usluge WinRM postavljen na automatski. Iako je zapravo tip lansiranja "automatski s odgodom", jer Prema zadanim postavkama, usluga WinRM ima postavljenu odgodu pokretanja (parametar DelayedAutoStart=1 u grani HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinRM).

Nakon primjene pravila grupe, ovim sustavom se može upravljati daljinski pomoću WinRS naredbi. Sljedeća naredba otvorit će naredbeni redak pokrenut na udaljenom sustavu:

pobjednici –r:<имя_компьютера>cmd

Nakon što se pojavi prozor naredbenog retka, možete izvršiti i vidjeti rezultate bilo koje naredbe na udaljenom računalu, kao da na njoj radite lokalno. Imajte na umu da WinRM također mora biti aktiviran na vašem glavnom računalu.

U mom slučaju testni stroj se zove alektest4

winrs -r:alektest4 cmd

Navigacija postova

Koristite proxy ((blokirao Roskomnadzor, koristite vpn ili proxy)) kada koristite Telegram klijent.

Udaljeno upravljanje sustavom Windows pomoću WinRM-a

Zapravo WinRM(ili Windows daljinsko upravljanje) i prevodi se kao „daljinski upravljač Windows". WinRM– usluga daljinskog upravljanja operativnim sustavima Windows. Od tada je uključen u operativne sustave Vidik I Server 2008, Za Windows XP I Server 2003 potrebno ga je instalirati odvojeno od ovdje. WinRM– poslužiteljski dio aplikacije za daljinsko upravljanje na koji se moguće spojiti na daljinu putem klijenta Windows Remote Shell (WinRS).

WinRM baziran na uslugama Web usluge za upravljanje (WS-Management) i koristi HTTP (port 80) ili HTTPS (443) i SOAP zahtjeve za obavljanje posla. Bez obzira na korišteni protokol, sav promet je poslan WinRM je šifriran (osim ako izričito ne onemogućite ovu opciju). Zadani protokol provjere autentičnosti je Kerberos.

U Windows Server 2008 WinRM instaliran, ali (iz sigurnosnih razloga) nije omogućen prema zadanim postavkama. Da provjerite radi li WinRM na našem stroju upišite naredbeni redak winrm nabroji winrm/config/listener

Ako nema odgovora, onda WinRM ne trčim. Kako bi se postavila WinRM za automatsko pokretanje i dopuštanje daljinskog povezivanja s računalom upišite naredbu winrm quickconfig ili winrm qc

Kako biste spriječili WinRM da traži potvrdu, možete dodati ključ u poziv -miran. Možete pronaći informacije o finom podešavanju ugrađene pomoći. WinRM: winrm pomoć konfiguracija

Pa, ugasi to WinRM možete koristiti ovu naredbu:
winrm brisanje winrm/config/listener?IPAdress=*+Transport=HTTP

Također, sve potrebne postavke mogu se izvršiti korištenjem grupnih pravila. Da biste to učinili potrebno vam je:

  • Postavite uslugu WinRM na automatsko pokretanje
  • Dopustite veze s odgovarajućim portovima (80 i 443) u vatrozidu Windows
  • Konfigurirajte stavku pravila grupe Računalna konfiguracija\Administrativni predlošci\Komponente Windows\Daljinsko upravljanje Windows\Daljinsko upravljanje Windows\Dopusti automatsku instalaciju slušatelja (Računalna konfiguracija\Administrativni predlošci\Windows komponente\Windows Remote Management\WinRM Service\Allow automatic configuration of listeners). Ovdje ćete morati navesti IP adrese s kojih su veze dopuštene.

Sada prijeđimo na korištenje. Za povezivanje s udaljenim računalom koristimo uslužni program WinRS. WinRS- skraćenica za Windows Remote Shell(udaljeno okruženje Windows). S WinRS možemo uputiti udaljene zahtjeve računalima koja rade WinRM. Međutim, imajte na umu da vaš stroj također mora raditi WinRM raditi s WinRS.

Glavni način upotrebe WinRS je izvršavanje naredbi na udaljenom stroju. Naziv računala je određen ključem -r nakon čega slijedi naredba koju treba izvršiti, na primjer pobjednicir: SRV2 ipconfig / svi radi na udaljenom računalu SRV2 tim ipconfig/svi

Zadani protokol za komunikaciju je http, ali također možete koristiti https: winrs -r:https://SRV2 ipconfig /all

Također možete koristiti WinRS otvorite interaktivnu sesiju na udaljenom računalu: winrs -r:SRV2 cmd.exe

Ova je funkcija slična povezivanju putem telnet, ali koristiti WinRS Definitivno bolje sa sigurnosne točke gledišta.

Da biste koristili WinRM, sva računala moraju biti članovi iste domene. Ako to nije slučaj u vašem slučaju, onda možete pokušati smanjiti razinu sigurnosti. Da biste to učinili, na računalu kojem želimo pristupiti unesite sljedeće naredbe:

« pravi")

« »}

WinRM je postavio winrm/config/client @(TrustedHosts= « Naziv računala" }

gdje je ComputerName udaljeno računalo s kojeg će se uspostaviti veza.

Na računalu s kojeg ćemo se spajati unesite:

WinRM je postavio winrm/config/service/auth @(Basic= « pravi")

WinRM je postavio winrm/config/client @(TrustedHosts= « »}

WinRM je postavio winrm/config/client @(TrustedHosts="Naziv računala" }

gdje je ComputerName računalo kojim ćemo upravljati.

Zatim uspostavljamo vezu pomoću naredbe:

winrs -r:"Naziv računala" : –u: Domena\Korisničko ime –p: Lozinka cmd.exe

gdje je Domena\Korisničko ime korisnički račun s administratorskim pravima na udaljenom računalu.

Jednom sam imao problema s WinRM-om na dva poslužitelja.

1.SETSPN
S jedne strane, problem je bio u tome što je SPN HTTP/<имя сервера>bili registrirani za neki "pogrešni" korisnički račun.

Našao sam ove postove s naredbom
setspn -F -Q */<имя сервера>

Onda sam ih izbrisao s naredbama
setspn -D http/<имя сервера>.<имя домена> <имя домена>\<левая учётная запись>
setspn -D http/<имя сервера> <имя домена>\<левая учётная запись>

Tada je enable-psremoting -force uspješno dovršen.

2. JEZIČNI PAKET
A na drugom poslužitelju postojao je škakljiv problem, navodno s vatrozidom Nije moguće provjeriti status vatrozida, pregledao sam hrpu stranica i otkrio rješenje intuitivno na temelju odgovora koji se odnosi na instalirani jezični paket.

WinRm QuickConfig
Usluga WinRM već radi na ovom računalu.
WSManFault
Poruka
ProviderFault
WSManFault
Poruka = ​​Nije moguće provjeriti status vatrozida.

Broj pogreške: -2147024894 0x80070002
Sustav ne može pronaći navedenu datoteku.

U odgovoru je navedeno da se ova pogreška može riješiti uklanjanjem dodatnog jezičnog paketa.
Ali ja sam to učinio drugačije. Imam engleski operativni sustav s dodatnim ruskim jezičnim paketom. Upravo sam promijenio jezik sučelja na ruski.
Upravljačka ploča, regionalne i jezične opcije, jezici i tipkovnice promijenili su jezik sučelja s engleskog na ruski.
Odjavio sam se i ponovno prijavio. Otvorio PowerShell i ponovio WinRm QuickConfig

PS C:\Windows\system32> winrm qc

Usluga WinRM nije konfigurirana da omogući daljinsko upravljanje računalom.
Potrebno je izvršiti sljedeće izmjene:

Stvorite WinRM slušatelja na HTTP://* za prihvaćanje WS-Man zahtjeva na bilo kojoj od IP adresa ovog računala.

Izmijeniti? g

Usluga WinRM je ažurirana za daljinsko upravljanje.

Stvorio je WinRM slušatelja na HTTP://* za prihvaćanje WS-Man zahtjeva na bilo kojoj od IP adresa ovog računala.

Bilo je uspješno, ali još uvijek nedovoljno.

Prilikom pokušaja daljinskog izvršavanja naredbi na ovom poslužitelju s drugog računala pojavila se pogreška Access Denied.

Nova PSSesija: [<имя сервера>] Spajanje na udaljeni poslužitelj<имя сервера>nije uspio uz sljedeću poruku o pogrešci: Pristup je odbijen. Za više informacija pogledajte temu pomoći about_Remote_Troubleshooting.

Zatim sam ponovio Enable-PsRemoting

PS C:\Windows\system32> Omogući-PsRemoting

WinRM Quick Setup
Pokrenite naredbu Set-WSManQuickConfig da biste omogućili daljinsko upravljanje pomoću usluge WinRM na ovom računalu.
Neophodne radnje.
1. Pokrenite ili ponovno pokrenite (ako već radi) uslugu WinRM.
2. Promjena vrste usluge WinRM u "autostart".
3. Napravite slušatelja za prihvaćanje zahtjeva na bilo kojoj IP adresi.
4. Konfigurirajte iznimke vatrozida za WS-Management servisni promet (samo http protokol).

Nastaviti?

(zadana vrijednost je "Y"):a
Usluga WinRM već je konfigurirana za prihvaćanje zahtjeva na računalu.
Usluga WinRM već je konfigurirana da omogući daljinsko upravljanje računalom.

Potvrda
Jeste li sigurni da želite izvršiti ovu radnju?
Izvođenje operacije "Registracija konfiguracije sesije" na ciljnom objektu "Konfiguracija sesije"
"Microsoft.PowerShell32" nije pronađen. Izvršit će se naredba "Register-PSSessionConfiguration Microsoft.PowerShell32"
-processorarchitecture x86 -force" za stvaranje konfiguracije sesije "Microsoft.PowerShell32". Usluga WinRM će
ponovno pokrenut."
[Y] Da - Y [A] Da za sve - A [N] Ne - N [L] Ne za sve - L [S] Obustavi - S [?] Pomoć
(zadana vrijednost je "Y"):a

Nakon toga je WinRM radio kako treba na ovom serveru.

WinRM i WinRS novi su u sustavima Windows Vista, Windows Server 2003 R2, Windows Server 2008 (i Server 2008 Core). Ovo su snažni novi alati naredbenog retka koji administratorima sustava nude poboljšanu daljinsku kontrolu i mogućnosti daljinskog izvršavanja na Windows strojevima. Međutim, prvo ih je potrebno omogućiti i trebat će neko vrijeme da se upoznaju s njihovom funkcijom. Imate sreće, ovaj članak sadrži sve što vam je potrebno da već danas počnete koristiti ove alate!

Što je Windows Remote Management (WinRM)?

Windows Remote Management (skraćeno WinRM) nova je praktična usluga daljinskog upravljanja za Windows Server 2003 R2, Windows Vista i Windows Server 2008. WinRM je "poslužiteljska" komponenta ove aplikacije za daljinsko upravljanje, a WinRS (Windows Remote Shell) je " klijent" za WinRM koji radi na udaljenom računalu u pokušaju daljinske kontrole WinRM poslužitelja. Međutim, moram napomenuti da OBA računala moraju imati instaliran i omogućen WinRM kako bi WinRS radio i primao informacije o udaljenom sustavu. WinRM se temelji na standardima Web Services for Management (WS-Management). To znači da WinRM koristi HTTP (port 80) i SOAP zahtjeve za obavljanje posla. Dobra stvar kod ovoga je da se HTTP zahtjevi mogu lako poslati kroz vatrozid. Iz toga proizlaze dobre i loše posljedice: s jedne strane, bit će lakše kontrolirati udaljeno računalo putem interneta, ali, s druge strane, napadaču će biti lakše daljinski napasti isto računalo. Još jedna mala prednost korištenja porta 80 je ta što nema potrebe otvarati druge portove na poslužitelju ako su dolazne HTTP veze već dopuštene.

Prema Microsoftu, WinRM je "Microsoftov novi alat za uspostavljanje API-ja temeljenog na standardima za upravljanje sustavima." Dakle, ako prije niste bili zainteresirani za učenje o takvim alatima, mislim da ga činjenica da je "novi Microsoftov standard" čini vrijednim učenja.

Možda ste već upoznati s bazom podataka Windows Management Instrumentation (WMI). No, za svaki slučaj, reći ću da ova baza podataka sadrži sve vrste informacija o računalnom hardveru i softveru. Gotovo svaka aplikacija koja upravlja Windows sustavom spušta se na razinu WMI baze podataka kako bi izvršila sve administrativne zadatke na određenom računalu.

WinRM će koristiti WMI bazu podataka za obavljanje zadataka sličnih onima koje ste možda izvodili s drugim softverom poput VBScripta. Prednost WinRM-a je u tome što koristi HTTP (port 80), kao što sam rekao, a postoji čak i poseban kod koji omogućuje WinRM-u da podijeli dolazne veze na portu 80 s IIS komponentom koja možda već radi na tom portu.

WinRM podržava različite vrste autentifikacije kako bi spriječio bilo koga da obavlja administrativne zadatke na vašim klijentima i poslužiteljima. Naravno, morate zapamtiti da omogućavanjem WinRM-a otvarate još jedan put za napad na vaš sustav. Međutim, kao što radim za svaki otvoreni port, ako su provjera autentičnosti i enkripcija ispravno postavljeni, može se smatrati da ste poduzeli sve razumne mjere opreza.

Proizvođač vašeg softvera za upravljanje sustavom možda je već planirao koristiti WinRM u budućim izdanjima svog softvera, tako da vi možda već koristite WinRM kroz druge aplikacije. Međutim, ovu komponentu možete sami koristiti pomoću naredbe winrm.cmd. Pomoću ovog CLI alata možete vrlo jednostavno izvući informacije iz WMI baze podataka za bilo koji zadatak koji riješite.

Kao što ćete vidjeti u nastavku, WinRM ima sučelje naredbenog retka s mnogo opcija. Informacije pomoći o WinRM-u bit će vam prikazane čak i ako nisu omogućene na vašem sustavu.

Slika 1: WinRM opcije naredbenog retka

Kako omogućiti i koristiti WinRM?

Ako koristite Windows 2008 Server, WinRM je već instaliran, ali nije omogućen prema zadanim postavkama. Ovo je dobra mjera opreza. Najlakši način da provjerite je li WinRM omogućen i radi li na vašem računalu je da odete u naredbeni redak i upišete:

winrm nabroji winrm/config/listener

Ako ne dobijete odgovor, WinRM nije pokrenut. Za konfiguraciju WinRM-a za automatsko pokretanje i dopuštanje udaljenog pristupa, koristite naredbu winrm quickconfig, Na primjer:

C:\Korisnici\Administrator> winrm quickconfig WinRM nije postavljen da omogući daljinski pristup ovom stroju za upravljanje.Moraju se napraviti sljedeće promjene:Stvorite WinRM slušatelja na HTTP://* za prihvaćanje WS-Man zahtjeva za bilo koji IP na ovom računalu.Uvesti ove promjene? g WinRM je ažuriran za daljinsko upravljanje.Stvorio je WinRM slušatelja na HTTP://* za prihvaćanje WS-Man zahtjeva za bilo koji IP na ovom računalu.C:\Korisnici\Administrator>

Nakon postavljanja quickconfiga, ponovno sam pokrenuo naredbu enumeracije sa sljedećim rezultatima:

C:\Korisnici\Administrator> winrm e winrm/config/listener SlušateljAdresa = *Prijenos = HTTPPriključak = 80Naziv hostaOmogućeno = istinitoURLPrefix = wsmanCertificateThumbprintListeningOn = 10.253.15.98, 127.0.0.1, ::1, fe80::5efe:10.253.15.98%11, fe80::9583:2148:e1ef:6444%10C:\Korisnici\Administrator>

Sada znam da je WinRM omogućen.

Usput, ako želite onemogućiti WinRM, morate koristiti ovu naredbu:

winrm brisanje winrm/config/listener?IPAdress=*+Transport=HTTP

Da biste koristili WinRM, svi čvorovi koji s njim komuniciraju moraju biti članovi iste domene kao i čvor koji pokreće WinRM.

Što je WinRS i kako ga koristiti?

WinRS je akronim za Windows Remote Shell. S WinRS-om možete postavljati udaljene upite Windows strojevima koji pokreću WinRM. Međutim, ne zaboravite da također morate pokrenuti WinRM na vašem računalu da biste radili s WinRS-om.

Kao što možete vidjeti na donjem dijagramu, pobjednici je potpuno opremljen alat naredbenog retka s ogromnom količinom referentnih informacija o tome kako ga koristiti.

Slika 2: WinRS opcije naredbenog retka

Jedan od najčešćih načina korištenja WinRS-a je izvršavanje naredbi na udaljenom računalu. Naravno, ova se komunikacija odvija korištenjem HTTP protokola (port 80) (zadano).

Ispod je primjer korištenja WinRS-a: Pokrenuo sam naredbe na hostu localhost. Izveo sam dvije naredbe: '' ver'I' smjer C:‘. U svakom slučaju, kao odgovor su dobivene odgovarajuće informacije.

Slika 3: Demonstracija naredbe WinRS

Rezultati

WinRM i WinRS vrlo su moćni novi alati o kojima bi administratori sustava Windows trebali naučiti. Razmislite o mogućnostima daljinskog upravljanja s WinRM/WinRS! Možete instalirati programe, mijenjati postavke, rješavati probleme (naravno, ako problem nije u mrežnoj komunikaciji). Možete ići dalje i povezati WinRS sa skriptom za obavljanje ovih zadataka na više računala. Također, zapamtite da će ih, bez obzira na to koristite li ove alate ili ne, vaš softver za upravljanje sustavom uskoro koristiti na ovaj ili onaj način.

Straža

Auto dijelovi za vaš automobil u bilo kojoj regiji.

Ponekad sam poslovno u Sankt Peterburgu, dali su mi link na tvrtku koja nudi dnevni najam stanova u Sankt Peterburgu. Dobra alternativa hotelima.