GPUPDATE — realizează o actualizare a politicii de grup pentru utilizator și computer. Cum se actualizează politica de grup pe un computer Windows? Comanda pentru actualizarea politicii de grup local

rezumat: Microsoft Scripting Guy, Ed Wilson arată cum să forțați o actualizare a politicii de grup folosind PowerShell.

Actualizarea politicii de grup într-un domeniu

Uneori fac modificări politicii de grup în rețea și trebuie să aplic modificările pe toate computerele. Și uneori trebuie să actualizez politica de grup local pe computerul meu.

Pentru a actualiza setările politicii de grup folosesc utilitarul GPUpdate. Are niște parametri. În mod implicit, utilitarul actualizează atât politicile computerului, cât și politicile utilizatorului. Dar acest lucru poate fi controlat folosind parametrul /ţintă. De exemplu, dacă trebuie să actualizez doar politica computerului, voi specifica /target:computer. Pentru a actualiza doar politica utilizatorului − /target:utilizator.

PS C:\> gpupdate /target:computer

Se actualizează politica…

Mod implicit GPUpdate Se aplică numai setările actualizate ale politicii de grup. Pentru a aplica toate setările, utilizați parametrul /forta. Următoarea comandă actualizează toate setările politicii de grup (fie că au fost modificate sau nu) pentru computer și utilizator.

PS C:\> gpupdate /force

Se actualizează politica…

Actualizarea politicii computerului s-a finalizat cu succes.

Actualizarea politicii utilizatorului s-a finalizat cu succes.

În primul rând, obținem o listă de computere din domeniu

Primul lucru pe care trebuie să-l fac este să obțin o listă cu toate computerele din domeniu. Pentru asta folosesc cmdletul Get-ADComputer, parte a modulului Active Directory.

Notă: Modulul Active Directory este inclus cu RSAT.

Stochez obiectele computer rezultate în variabila $cn.

$cn = Get-ADComputer -filt *

În al doilea rând, creăm sesiuni la distanță

Următorul lucru pe care trebuie să-l fac este să creez sesiuni la distanță cu toate computerele. Pentru a face acest lucru, trebuie să ofer acreditări pentru a se conecta la computere, precum și să creez sesiunile în sine folosind cmdletul Noua-PSSession.

Pentru a începe, voi folosi cmdletul Obțineți acredităriși stocați obiectul returnat de acesta în variabila $cred.

$cred = Obține-Credential immred\administrator

$session = New-PSSession -cn $cn.name -cred $cred

Trebuie să rețineți că pot exista computere în domeniu care sunt oprite, așa că atunci când rulați comanda, pot fi returnate erori. Cu toate acestea, în ciuda erorilor, Windows PowerShell creează sesiuni cu computerele de lucru.

Prezența unui număr mare de erori poate provoca unele îngrijorări. Deoarece obiectele de sesiune sunt stocate în variabila $sessions, pot verifica cu ușurință că au fost create.

Acum să rulăm comanda pe toate mașinile la distanță

Pentru a rula comanda GPUpdate pe toate mașinile la distanță folosesc cmdletul Invocare-Comandă. Utilizează sesiunile pe care le-am salvat în variabila $sessions. Alias ​​pentru cmdlet Invocare-Comandăicm.

icm -Session $session -ScriptBlock (gpupdate /force)

După rularea comenzii, rezultatele sunt afișate în consola Windows PowerShell.

Se verifică o actualizare a politicii de grup

Când setările politicii de grup sunt actualizate cu succes pe o stație de lucru, ID-ul evenimentului 1502 este scris în jurnalul de sistem. Pot folosi cmdletul Invocare-Comandă pentru a obține aceste informații.

icm -Session $session -ScriptBlock (Get-EventLog -LogName sistem -InstanceId 1502 -Cel mai nou 1)

Comanda și rezultatele acesteia sunt prezentate în figura de mai jos.

Un alt lucru interesant despre politica de grup

Uneori trebuie să sun la asistența tehnică și îmi solicită să actualizez Politica de grup pe computerul meu local. Aceasta nu este o problemă, deoarece pot alerga GPUpdate direct din PowerShell. Dificultatea vine atunci când îmi cer să actualizez Politica de grup de 5 ori la intervale de 5 minute. Dar acest lucru poate fi rezolvat și cu o singură linie de cod.

1..5 | %(„împrospătarea GP $(Get-Date)”; gpupdate /force ; sleep 300)

Ed Wilson, tip Microsoft Scripting

Original:

Am decis că trebuie să scriu un articol scurt care ar putea și ar trebui să fie referit destul de des. Și subiectul acestui articol este cum să actualizați politica de grup.

De ce trebuie să actualizați manual o politică?

Când ar putea fi util acest lucru? Aproape întotdeauna, când modificați orice parametru din orice politică. Nu, să nu credeți că politica trebuie actualizată doar manual. De fapt, se actualizează automat. O dată la fiecare oră și jumătate! Imaginați-vă că ați schimbat o politică și așteptați o oră și jumătate pentru a verifica dacă funcționează exact așa cum ați dorit. Brad, nu-i așa?

Normal, prostii. Prin urmare, există o modalitate de a forța computerul să actualizeze manual politicile de grup. Și înainte de asta, puțină teorie. După cum știți, politicienii sunt împărțiți în două grupuri mari:

  • politici informatice
  • politicile utilizatorilor

Politicile din primul grup se aplică tuturor utilizatorilor computerului, în timp ce politicile din al doilea grup se aplică numai utilizatorilor individuali. Deci, atunci când computerul pornește, politicile de grup sunt încărcate imediat. Mai mult, toate politicile sunt citite de la zero, ceea ce asigură aplicarea celor mai recente modificări. Dar politicile utilizatorului sunt verificate și încărcate atunci când utilizatorul se conectează în sistem.

Cunoscând aceste fapte, iată soluția ta. Pentru ca modificările politicii utilizatorilor să intre în vigoare, deconectați-vă și conectați-vă din nou. Dacă trebuie să actualizați politicile computerului, reporniți computerul. Glumă.

Comanda pentru actualizarea politicii de grup local

Metodele descrise vor duce cu siguranță la rezultatul dorit, dar sunt destul de stupide. La urma urmei, există un utilitar excelent de linie de comandă numit gpupdate.În general, pentru a actualiza politica de grup, următoarea comandă este suficientă:

Gpupdate /force

Cu această acțiune simplă vă puteți actualiza rapid politicile computerului.

Comanda GPUPDATE este utilizată pentru a actualiza politicile de grup pentru un utilizator și/sau computer.

Format linie de comandă:

GPUpdate

Opțiuni pentru linia de comandă:

/Target:(Computer | Utilizator)- Actualizați setările politicii numai pentru utilizator (Utilizator) sau numai pentru computer (Computer). Dacă nu este specificat, setările pentru ambele politici sunt actualizate.

/Forta- Aplicarea tuturor setărilor politicii. Dacă nu este specificat, se aplică doar setările de politică modificate.

/ Așteaptă: valoare- Timeout (în secunde) pentru ca politica să finalizeze procesarea. Valoarea implicită este să așteptați 600 de secunde. Valoarea „0” - fără așteptare. Valoarea „-1” - așteptarea este nelimitată. Dacă are loc expirarea, fereastra promptului de comandă este reactivată, dar procesarea politicii continuă.

/Ieşi din cont- Deconectați-vă după actualizarea setărilor politicii de grup. Necesar pentru acele extensii de client Politica de grup care nu procesează politica în fundal, ci o procesează numai atunci când utilizatorul se conectează, cum ar fi instalarea de programe pentru utilizator sau redirecționarea folderului. Această setare nu are efect decât dacă sunt apelate extensii care necesită deconectarea utilizatorului.

/Boot- Efectuați o repornire după aplicarea setărilor politicii de grup. Necesar pentru extensiile client de Politică de grup care nu procesează politica în fundal, ci o procesează numai atunci când aceasta pornește, cum ar fi instalarea de programe de calculator. Această setare nu are efect decât dacă sunt apelate extensii care necesită o repornire a sistemului.

/Sincronizare- Următoarea aplicație de politică activă trebuie să apară sincron. Aplicarea activă a politicii are loc atunci când computerul repornește sau când utilizatorul se conectează. Puteți utiliza acest parametru pentru un utilizator, un computer sau ambele prin specificarea parametrului /Target. În acest caz, parametrii /Force și /Wait, dacă sunt specificați, sunt omisi.

Exemple de utilizare:

gpupdate/?- afișați un indiciu despre cum să utilizați comanda.

gpupdate- politicile computerului și politicile utilizatorilor sunt actualizate. Se aplică doar politicile modificate.

gpupdate /Target:computer- politicile sunt actualizate numai pentru computer.

gpupdate /Force- toate politicile sunt actualizate.

gpupdate /Boot- actualizarea politicilor de grup cu repornirea computerului.

În acest articol vom arăta o modalitate simplă de a actualiza de la distanță politicile de grup pe clienții (calculatoare și servere) ale unui domeniu Active Directory, fără a fi nevoie să accesați consola mașinii de la distanță și fără a utiliza comanda gpupdate.

Una dintre cele mai dificile probleme în gestionarea politicilor de grup AD este testarea politicilor din mers, fără a reporni computerul sau a accesa computerul local și a rula comanda.

Caracteristica Remote Group Policy Update oferă posibilitatea de a utiliza o singură consolă de management GPO (GPMC.msc) pentru a crea, edita, aplica și testa politicile de grup.

Funcționalitatea actualizării politicilor de grup la distanță a apărut pentru prima dată în Microsoft Windows Server 2012, în toate versiunile ulterioare (Windows Server 2016, Microsoft Windows 10), această funcționalitate și stabilitatea acesteia au fost îmbunătățite treptat.

Cerințe pentru ca actualizarea politicii de grup la distanță să funcționeze:

Cerințe de mediu server:

  • Windows Server 2012 și versiuni ulterioare
  • Sau Windows 10 cu instrumente de management RSAT instalate

Cerințe pentru clienți:

  • Windows 7 și versiuni ulterioare

Cerințe pentru comunicarea în rețea (paravane de protecție) între server și clienți

  • Portul TCP 135 trebuie să fie deschis
  • Serviciul Windows Management Instrumentation este activat
  • Serviciul Task Scheduler

Dacă mediul dvs. îndeplinește aceste cerințe, deschideți Consola de gestionare a politicilor de grup (GPMC.msc), selectați OU (containerul) în care se află computerele țintă pe care doriți să forțați actualizarea GPO.

Faceți clic dreapta pe containerul dorit și selectați Actualizare politică de grup.

În fereastra care se deschide, vor apărea informații despre numărul de obiecte din această OU pe care va fi actualizat GPO-ul. Pentru a confirma acțiunea, faceți clic pe butonul „Da”.

În fereastra cu rezultatele actualizării politicii de grup la distanță, veți vedea starea actualizării politicii, precum și starea acestei operațiuni (succes/eroare, cod de eroare). Desigur, dacă un computer este oprit sau accesul la acesta este restricționat de un firewall, va apărea o eroare corespunzătoare.

După modificările GPO, durează ceva timp (90 de minute +/- 30) pentru ca acestea să se propagă în alte sisteme, dar dacă trebuie aplicate urgent, administratorul se conectează la sistemul de la distanță și rulează comanda „ gpupdate" Cu un număr mare de computere, procesul a durat ceva timp, iar procesul în sine este incomod. Acum poți uita de asta. În Consola de gestionare a politicilor de grup (GPMC), a apărut un nou element în meniul contextual al domeniului și al unității organizaționale: „ Actualizare politică de grup” (Actualizarea politicii de grup) vă permite să actualizați politicile de sistem începând cu Windows Vista/2008 cu două clicuri de mouse. După activarea sarcinii, va fi primită o listă de computere și utilizatori înregistrați, după care sarcina „ Gpupdate.exe /force" Pentru a evita congestionarea rețelei, aceasta va fi efectuată cu o întârziere aleatorie în intervalul 0-10 minute. Rezultatul sarcinii este afișat într-o fereastră separată; succesul actualizării poate fi determinat folosind vrăjitorul de politică rezultat.
Noua funcție a primit și propriul cmdlet - Invoke-GPUpdate, care vă permite să actualizați GP de la distanță și oferă capabilități și mai mari decât GPMC. Apropo, acum 27 de cmdleturi sunt responsabile pentru politicile de grup, adică. încă unul (puteți obține lista completă introducând „ Get-Command -Module GroupPolicy«).
Pentru a actualiza imediat politicile pentru un anumit sistem, rulați:

PS> Invoke- GPUpdate - Computer< имя компьютера>

PS> Invoke-GPUpdate -Computer< имя компьютера>

Cheie suplimentară –RandomDelayInMinutes vă permite să setați un interval de timeout, care este util dacă comanda va fi executată pe mai multe sisteme.
Dar principalul lucru este că în consola GPMC puteți selecta doar o divizie; acolo nu există un container separat de computere. Aici vine în ajutor Invoke-GPUpdate, care, împreună cu cmdlet-ul Get-ADComputer, vă permite să selectați sisteme după orice criteriu:

PS> Get- ADComputer –filter * - Searchbase „cn=calculatoare, dc=exemplu,dc=org”| foreach ( Invoke-GPUpdate –computer$_.name –force –-RandomDelayInMinutes 5)

PS> Get-ADComputer –filtru * -Searchbase „cn=computer, dc=example,dc=org” | foreach( Invoke-GPUpdate –computer $_.name –force –-RandomDelayInMinutes 5)

Un alt punct important este că trebuie să deschideți mai multe porturi de firewall pe sistemele client. Pentru a ușura viața administratorului, MS a oferit 2 noi politici inițiale (cele 8 existente), permițându-vă să creați și să distribuiți rapid setările necesare:

— Porturi de firewall pentru actualizările politicilor de grup la distanță;
- Porturi de firewall pentru rapoartele privind politica de grup.

Scopul lor este clar din nume. Ne interesează primul. Vă recomandăm să creați un nou GPO și să-l mutați în partea de sus, oferindu-i o prioritate mai mare decât GPO-ului de domeniu implicit.
Procesul este simplu. Selectați domeniul și selectați „Creați un GPO în acest domeniu” din meniu. În fereastra care apare, introduceți numele și selectați din listă „Porturi firewall pentru actualizarea la distanță a politicii de grup”. Alternativ, puteți utiliza PowerShell.