Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Fier
  • Instalarea și configurarea Windows PowerShell. Windows PowerShell - Note utile Instalarea powershell

Instalarea și configurarea Windows PowerShell. Windows PowerShell - Note utile Instalarea powershell

Astăzi vă voi arăta cum să instalați și să utilizați modulul de administrare Active Directory pentru Windows PowerShell. Cmdleturile din acest modul pot fi folosite pentru a prelua informații și a gestiona diverse obiecte și parametri AD. Acest modul este instalat în sistemele de operare server ca o componentă separată. Pe sistemul de operare desktop (Windows 10, 8.1, 7), va trebui să instalați pachetul Remote Server Administration Tools (RSAT), care include un modul pentru interacțiunea cu AD din PowerShell. În plus față de acest modul, RSAT include toate componentele grafice de gestionare necesare, utilitare de linie de comandă și module Windows PowerShell pentru administrarea Windows și AD. Acest pachet pentru versiunea dvs. de sistem de operare trebuie să fie descărcat de pe site-ul Microsoft.

Instalarea modulului Active Directory pentru Windows PowerShell

Modulul Active Directory pentru Windows PowerShell a fost introdus pentru prima dată în Windows Server 2008 R2. Se instalează automat pe. Pentru a utiliza cmdlet-uri PowerShell dintr-un modul AD, domeniul trebuie să aibă cel puțin un controler Windows Server 2008 R2 sau o versiune ulterioară. Dacă rețeaua dvs. are numai DC-uri care rulează Windows Server 2003 și 2008, trebuie să descărcați și să instalați Serviciul Active Directory Management Gateway. Cmdleturile PowerShell din modulul Active Directory interacționează cu un serviciu web care face parte dintr-un controler de domeniu cu rolul ADDS.

Puteți instala modulul Active Directory pentru Windows PowerShell nu numai pe un controler de domeniu, ci și pe orice server de domeniu membru sau stație de lucru. Pe Windows Server 2016, puteți instala modulul Windows PowerShell Active Directory din consola grafică Server Manager utilizând Expertul Adăugare roluri și caracteristici. Este suficient să porniți vrăjitorul și în etapa de selectare a componentelor, selectați Instrumente de administrare a serverului la distanță -> Instrumente de administrare a rolurilor -> Instrumente AD DS și AD LDS -> Modul Active Directory pentru Windows PowerShell(Instrumente de administrare a serverului la distanță> Instrumente de administrare a rolurilor> Instrumente AD DS și AD LDS -> Modul Active Directory pentru Windows PowerShell).

Acest modul poate fi instalat și folosind PowerShell. Deschideți o consolă PowerShell cu drepturi de administrator și executați comenzile:

Import-Module ServerManager
Add-WindowsFeature -Nume „RSAT-AD-PowerShell” –IncludeAllSubFeature

În Windows 10, Windows 8.1 și Windows 10, pentru a instala modulul RSAT-AD-PowerShell, trebuie mai întâi să instalați versiunea corespunzătoare de RSAT, după care modulul trebuie să fie activat în Panoul de control (Panou de control -> Programe -> Programe și Funcții și faceți clic pe „Activați funcțiile Windows” -> Instrumente de administrare a serverului la distanță -> Instrumente de administrare a rolurilor -> Instrumente AD DS și AD LDS -> activați Modulul Active Directory pentru componenta Windows POwerShell.

Alternativ, puteți instala modulul folosind PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell

Importarea și utilizarea modulului PowerShell Active Directory

În Windows 7 și Windows Server 2008 R2, pe care este instalat PowerShell 2.0, pentru a începe să utilizați modulul AD, trebuie să îl importați în sesiunea PowerShell cu comanda:

Alternativ, puteți exporta un modul de pe o mașină la distanță unde este deja instalat și îl puteți importa în sesiunea dvs. PowerShell:

$ MySession = New-PSSession -ComputerName MyDomainController
Export-PSsession -Session $ MySession -Module ActiveDirectory -OutputModule RemoteADPosh
Remove-PSSession -Session $ MySession
Import-Module RemoteADPosh

În Windows Server 2012 R2 / 2016 și Windows 8.1 / Windows 10, modulul (dacă este instalat) este importat automat în sesiune.

Dacă computerul este inclus într-un domeniu, în mod implicit este creat un disc după nume ANUNȚ :. Puteți accesa acest disc cu comanda CD și utilizați comenzile familiare pentru a lucra cu sistemul de fișiere pentru a naviga pe acest disc. Căile sunt în format X500.

PS C: \> cd AD:
PS AD: \> dir

PS AD: \> cd "DC = vmblog, DC = ru"

Puteți afișa o listă de cmdlet-uri module disponibile pentru lucrul cu Active Directory, după cum urmează:

Get-Command -Module ActiveDirectory

Diferite versiuni de Windows au un număr diferit de cmdlet-uri disponibile:

  • Windows Server 2008 R2 - 76 de cmdleturi.
  • Windows Server 2012 - 135 cmdleturi
  • Windows Server 2012 R2 / 2016 - 147 cmdleturi.

Deci, acum puteți utiliza cmdleturile PowerShell pentru a administra AD. Pe site-urile noastre, vă puteți familiariza cu utilizarea următoarelor cmdleturi din Modulul AD pentru PowerShell :,.

Windows PowerShell este un shell de linie de comandă și un limbaj de scripting cu o sintaxă puternică și frumoasă pentru administrarea sistemului. Windows PowerShell este un instrument excelent pentru gestionarea și automatizarea administrării aplicațiilor Windows și Windows.

Eram un mare fan al scripturilor vbs. Din moment ce am observat că pentru acele sarcini pentru care am folosit anterior Delphi, limbajul de scripting vbs este destul de potrivit. La urma urmei, este mult mai convenabil să deschideți un bloc de note, să adăugați câteva rânduri acolo, să salvați fișierul cu extensia dorită și să rulați scriptul. Pentru a face acest lucru, nu trebuie să instalați nimic, cum ar fi Delphi, care este, de asemenea, plătit.

În timp ce vbs nu este rău, succesorul său PowerShell are mult mai multe funcționalități.

Am un script vbs care postează automat imagini pe unul dintre bloguri. A fost nevoie de alinierea imaginii în lățime sau înălțime, în funcție de rezoluția imaginii adăugate. Și așa nu am putut obține rezoluția imaginilor folosind un script vbs, dar prin PowerShell este foarte simplu.

Dacă începând cu Windows 7, PowerShell este inclus cu Windows însuși, apoi în Windows XP trebuie să îl descărcați și să îl instalați - descărcați PowerShell V2 pentru Windows XP SP3.

Cea de-a 5-a versiune de Powershell poate fi descărcată de pe link-ul: microsoft.com, acolo este descris și ce fișier de descărcat pentru sistemul de operare necesar și cum se instalează.

Cum permit rularea scripturilor locale PowerShell?

În mod implicit, Windows nu va permite rularea scripturilor PowerShell din cauza problemelor de securitate. Scripturile locale trebuie să fie permise să ruleze. Rulați comanda în consolă (vă va permite să rulați scripturi locale și script-uri descărcate semnate cu un certificat de încredere):

powershell -Comand Set-ExecutionPolicy RemoteSigned

În caz contrar, când încercați să rulați scriptul, veți vedea următorul text:

Nu se poate încărca fișierul C: \ ImageSize.ps1 deoarece scriptarea este interzisă pe acest sistem. Introduceți „get-help about_signing” pentru mai multe informații.
+ CategoryInfo: NotSpecified: (:), ParentContainsErrorRecordException
+ FullyQualifiedErrorId: RuntimeException

Pentru a reveni la această politică de securitate, scrieți:

powershell -Command Set-ExecutionPolicy restricționat

Pentru a permite executarea oricăror scripturi fără verificarea semnăturii, scrieți:

powershell -Command Set-ExecutionPolicy Unrestricted

Dacă vedeți un mesaj ca acesta când rulați scriptul:

Avertisment de securitate Rulați numai scripturi în care aveți încredere. În timp ce scripturile de pe Internet pot fi utile, acest script poate dăuna computerului dvs. Doriți să rulați \ server \ scripts \ my.ps1? [D] Nu rulați [R] Executați o dată [S] Suspendați [?] Ajutor (implicit este „D”): d

Și dacă doriți să scăpați de el, atunci când rulați scriptul, utilizați parametrul -ExecutionPolicy Bypass

Powershell -ExecutionPolicy Bypass -fișier „\\ server \ scripts\ my.ps1”

Cum rulez un script PowerShell?

Introduceți comanda la linia de comandă

Powershell -File your-script-name.ps1

Unde numele-script-ul.ps1 este numele scriptului. Fișierele script PowerShell au extensia * .ps1

Ajutor sau Ajutor Windows PowerShell

PowerShell are diverse cmdleturi pentru a obține ajutor. Dar cel mai important este: Get-Help

Introduceți comenzile în consolă:

powershell -comandă Get-Help

powershell -comandă Get-Help -?

Și obțineți două descrieri diferite, care se completează reciproc, despre cum să utilizați ajutorul.

Capacitățile de ajutor sunt destul de extinse, cu exemple și descrieri detaliate în rusă. Prin urmare, îl puteți scoate în diferite formate.

De exemplu:

  • powershell -command Get-Help Get-Help - ajutor general pentru cmdletul Get-Help
  • powershell -command get-help Get-Help -exemple - exemple despre cum poate fi utilizat cmdletul get-help
  • powershell -command get-help Get-Help -detailed - ajutor detaliat pentru cmdlet-ul get-help
  • powershell -command get-help Get-Help -full - cel mai complet ajutor pentru cmdlet-ul get-help

winintro.ru/windowspowershellhelp.ru/ - ajutor sub forma unei cărți html

Note Windows Powershell:

Operatori de comparare

  • -eq - Egal - Egal
  • -ne - Nu este egal
  • -ge - Mai mare decât sau egal - Mai mare decât sau Egal
  • -gt - Mai mare decât - Mai mult
  • - Mai puţin decât - Mai puţin
  • -le - Mai mic sau egal - Mai mic sau egal
  • -like - Comparație wildcard - Folosiți caractere wildcard pentru a se potrivi cu un model
  • -notlike - Comparație wildcard - Folosiți caractere wildcard pentru a găsi o nepotrivire a modelului
  • -match - Comparare expresii regulate - Folosiți expresii regulate pentru a potrivi un model
  • -notmatch - Compararea expresiilor regulate - Utilizați expresii regulate pentru a găsi o nepotrivire a modelului
  • -replace - Înlocuiește operator - Înlocuiește o parte sau toată valoarea din stânga operatorului
  • -contains - Containment operator - Determinați dacă valoarea din stânga operatorului conține valoarea din dreapta. Rezultatul este o valoare booleană
  • -notcontains - Operator de reținere - Stabiliți că valoarea din stânga operatorului nu conține valoarea din dreapta. Rezultatul este o valoare booleană

În mod implicit, operatorii de comparație nu țin cont de majuscule și minuscule.
Pentru compararea cu majuscule și minuscule, comanda este prefixată cu „c”. De exemplu, operatorul care ține seama de majuscule și minuscule -eq este schimbat în „-ceq”.
Pentru o comparație specificată în mod explicit, care nu ține seama de majuscule, comanda este prefixată cu „i”. Exemplu: operatorul -replace care nu ține seama de majuscule ar fi -ireplace

  • -este - Este tipul
  • -nu este - Nu este un tip
  • -as - Ca tip, nicio eroare dacă conversia eșuează

Operatori booleeni PowerShell:

  • -și - Ambele condiții trebuie să fie adevărate pentru ca expresia să fie adevărată
  • -sau - Una sau ambele condiții trebuie să fie adevărate pentru ca expresia să fie adevărată
  • -xor - O condiție trebuie să fie adevărată, iar cealaltă trebuie să fie falsă pentru ca expresia să fie adevărată
  • -not - Condițiile specificate trebuie să fie false pentru ca expresia să fie adevărată
  • ! - Condiția specificată trebuie să fie falsă pentru ca expresia să fie adevărată

$ myVar -este "Șir" $ myVar -eq 123 $ myVar -ceq $ myVar2 "abcdef" -cum ar fi "abc *" "abcdef" -înlocuiește "dEf", "xyz" $ myVar1 -este "Șir" -și $ myVar2 -este „Int” (1 -eq 1) -și -nu (2 -gt 2)

Operații cu șiruri

# Împărțiți șirul pe spații: $ șir = "Șir de testare" $ șir.split ("") $ șir.IndexOf ("") # Căutați $ șir pentru primul spațiu # Returnează indexul bazat pe zero al primei apariții PS > "abcdeabcde". indexOf ("cde") 2 # Returnează poziția indexului de la ultima apariție a caracterului specificat PS> "abcdeabcde" .lastIndexOf ("c") 7 # Returnează un subșir care începe cu poziția 1 PS> "abcdefgh " .Substring (1) bcdefgh # Returnează un subșir care începe cu poziția 1 și 4 caractere PS> "abcdefgh". Subșir (1,4) bcde # Introduceți un subșir la poziția 0 PS> "abcdefgh" .insert (0, " X") Xabcdeabcde # Ștergerea din poziția 0 lungimea 2 PS> "abcdefgh" .remove (0,2) cdeabcde # Proprietatea obiectului - lungime șir PS> "abcdefgh" .length 8 # Returnează adevărat dacă șirul conține subșirul „cde” PS> "abcdefgh" .Contains ("cde ") True # Returnează adevărat dacă șirul începe cu subșirul" abc "PS>" abcdefgh ".startsWith (" abc ") True # Returnează adevărat dacă șirul se termină cu subșirul" fgh "PS>" abcdefgh ".endsWith (" fgh " ) Tru e # Returnează adevărat dacă șirul conține subșirul „cde” PS> $ „abcdefgh” -like „* cde *” True # Returnează o matrice, unde „d” este un separator PS> „abcdefgh” -split „d” abc efgh # Returnează un șir combinat din două ":" - separator PS> "abcdefgh", "xyz" -join ";" abcdefgh; xyz # Returnează un șir în care „abc” va fi înlocuit cu „XYZ” PS> „abcdefgh” .replace („abc”, „XYZ”) XYZdefgh # Returnează un șir în care caracterele sunt majuscule PS> „abcdefgh” .ToUpper ( ) ABCDEFGH # Returnează un șir în care caracterele sunt convertite în minuscule PS> „ABCDEFGH”. ToLower () abcdefgh

Variabile predefinite

$ acasă- directorul de utilizatori
$ NULL- gol
$ adevărat- adevărul
$ fals- lojele
$ DebugPreference- „Continuați” pentru a scoate depanarea, „SilentlyContinue” pentru a nu scoate informații de depanare. Consultați comanda Write-Debug

Lucrul cu fișiere

$ șir | Out-File $ fișier -Adăugați # Adăugați $ șir cu o nouă linie la fișierul $ fișier $ șir = obține-conținut -Cale $ fișier # Adăugați conținutul fișierului în $ șir $ fișier $ glume = :: ReadAllText ($ fișier) # citiți întregul fișier într-o singură linie Test-Path "C: \ test.txt" # Verificați existența fișierului

Găsiți toate fișierele cu o anumită extensie într-un director și subdirectoare.
Apoi copiați aceste fișiere într-un alt director.

$ flist = get-childitem e: \ doc \ * -include * .pdf -recurse $ flist | ForEach-Object ($ _. CopyTo ("e: \ doc \ all_pdf \" + $ _. PSChildName)) ls d: \ | ? ($ _. psiscontainer) | selectează numele complet # Afișează numai directoarele ls d: \ | ? (! $ _. psiscontainer) | selectați numele complet # Afișați numai fișierele $ local = Get-Location # Directorul curent $ local.Path # Director de lucru $ local.Drive.Root # Rădăcină $ local.Drive.Name # Litera unității $ local.Drive.Used # Unitatea folosită $ local .Drive.Free # Gratuit pe disc

Afișarea numelor complete ale fișierelor de pe unitatea D: care s-a modificat între 1 iunie 2014 și 20 septembrie 2014:

Ls d: \ -recurse | ? (! $ _. psiscontainer) | selectați numele complet, LastWriteTime | Where-Object ($ _. LastWriteTime -ge "06/01/2014" -și $ _. LastWriteTime -le "09/20/2014")

Afișarea textului pe ecran

# text la care să acordați atenție. Marcat cu galben. Write-Warning ("Text care necesită atenție") # Afișează doar textul Write-Host ("Doar text") # depanare activată $ DebugPreference = "Continuare" # scoateți informații de depanare Write-Debug "Nu se poate deschide fișierul." # ieșirea de depanare dezactivată a informațiilor de depanare $ DebugPreference = "SilentlyContinue"

Faceți o pauză de câteva secunde

Start-Sleep -s 15 # Pauză timp de 15 secunde

Opriți consola până când apăsați Enter

Read-Host „Apăsați Enter”

Lucrul cu procese

# Sarcină: omorâți toate procesele numite Notepad # Metoda # 1 get-process Notepad | Stop-Process # Metoda # 2 (Funcționează cu un singur proces) $ plist = obține-proces Notepad $ plist.Kill () # Metoda # 3 (la fel ca 2, dar toate procesele) $ plist = obține-proces Notepad $ plist | ForEach-Object ($ _. Kill ()) # Obțineți procese și datele lor de începere: Get-Process | Format-Nume tabel, StartTime -AutoSize

Creştere

$ i ++ - la momentul apelării i are valoarea veche, dar după aceasta crește cu 1 ++

++ $ i - în momentul apelării i se mărește cu 1

Matrice

$ array = 17,15,160 # a creat o matrice de trei elemente $ array -contains $ element # matricea contine un element $ fisier1 # al 0-lea element al matricei $ fisier1.count # dimensiunea matricei # elimina elementul „asdf” din tabloul $ array = @ ("adsf", "adf", "erge") $ array = $ array |? ($ _ -ne "adf") # obțineți numai elemente unice ale matricei $ a = @ (1,2,3,4,5,5,6,7,8,9,0,0) $ a = $ a | select -uniq # index al primei apariții a unui element din tabloul $ array.indexOf ("cde")

Dacă Elseif Altfel Construct

if ($ i -eq 0) (Write-Host ("i este egal cu zero")) ElseIf ($ i -eq 1) (Write-Host ("i este egal cu unu")) Else (Write-Host ( "i nu este egal cu zero sau unu"))

Pentru fiecare buclă

$ services = Get-Service ForEach ($ serviciu în $ servicii) ($ service.Stop ()) 65 # convertește codul ASCII în caracterul „A” # convertește caracterul în codul ASCII „Bună ziua” # convertește șirul în coduri ASCII

Așteptăm cu nerăbdare să apăsăm orice tastă:

$ HOST.UI.RawUI.ReadKey ("NoEcho, IncludeKeyDown") | OUT-NULL $ HOST.UI.RawUI.Flushinputbuffer () $ host.ui.RawUI.WindowTitle = "(! LANG: elimS Titlul ferestrei" #задаем заголовок окна !}

Tipuri de date în PowerShell

Cele mai comune tipuri sunt:

Șir de caractere Unicode cu lungime fixă ​​Un caracter Unicode de 16 biți Un caracter nesemnat de 8 biți Număr întreg cu semnătură de 32 de biți Număr întreg cu semnătură de 64 de biți Boolean Adevărat / Fals O valoare zecimală de 128 de biți Număr în virgulă mobilă de 32 de biți cu precizie simplă Dublu -număr cu virgulă mobilă de precizie pe 64 de biți Data și ora obiect Xml O matrice de valori obiect Hashtable

Există, de asemenea, constante încorporate ca aceasta: $ true,$ fals, $ nul

Unicode: Pentru a codifica un caracter Unicode într-un șir PowerShell, prefixați unicode-ul cu 0x și aruncați-l în System.Char:

PS> 0x263a ☺

Conversia tipului de date

Pentru a forța o conversie la un anumit tip de date, prefixați valoarea sau variabila cu tipul între paranteze drepte, aceasta este cunoscută sub numele de Operator de distribuțieși forțează tipul de date ales:

PS C: \> "0064" 64 PS C: \> $ fals 0 PS C: \> ("0x" + "FF") 255

Testarea tipurilor de date

PS C: \> 32 -is
Adevărat PS C: \> $ adevărat -este
Adevărat

Funcții în Powershell

funcția elimS (# o funcție cu mai mulți parametri de intrare param ($ șir = „valoare implicită”, $ întreg = 7) # parametri de intrare write-host "șir =" $ șir "| întreg =" $ întreg) elimS # apel de funcție fără definițiile parametrilor, parametrii vor lua valoarea implicită $ șir = "șir de test" $ întreg = 911 elimS $ șir $ întreg # așa se poate apela corect funcția - separați parametrii cu un spațiu elimS -integer $ întreg -șir $ șir # acesta este, de asemenea, corect $ global: var1 = "test" este o variabilă globală, așa că puteți trece valoarea variabilelor din funcții.

Mai multe despre cum să transmiteți mai mulți parametri unei funcții:

Odihnă

get-host # arată versiunea de powershell Clear-RecycleBin c: -Forțare # golirea coșului de reciclare Compress-Archive -Path C: \ test \ * -DestinationPath C: \ archive \ test1.zip # arhivarea folderului Expand-Archive - Calea C: \ temp \ test1.zip "C: \ test \ Dosar nou \" # despachetează arhiva (Get-CimInstance Win32_operatingSystem) .lastbootuptime # arată ora de pornire a sistemului write-host $ sleep_array.GetType (). FullName # arată tipul comutatorului variabil ($ a) (#caz - multiplu dacă 1 ($ b = $ b + 10) 2 ($ b = $ b + 20) 3 ($ b = $ b + 30) 4 ($ b = $ b + 40) implicit ($ b = $ b + 50)) Get-Content -Path "C: \ scripts \ test.txt" -Așteptați # linux tail analog

cmdlet-uri Powershell

Sortare-Obiect- Sortează obiectele în ordine crescătoare sau descrescătoare pe baza valorilor proprietăților obiectelor. Puteți seta o proprietate sau mai multe proprietăți (sortați după mai multe chei) și puteți alege să sortați cu sau fără majuscule. Alternativ, puteți indica cmdlet-ului Sort-Object să afișeze numai obiecte cu valori unice pentru o proprietate.

Element de copiere- copiază un element dintr-o locație din spațiul de nume în alta. Cmdletul Copy-Item nu elimină elementele copiate. Tipurile de elemente pe care le poate copia un cmdlet sunt determinate de disponibilitatea furnizorilor Windows PowerShell. De exemplu, utilizarea cmdlet-ului cu furnizorul FileSystem copiază fișierele și folderele, în timp ce utilizarea furnizorului de registry copiază cheile și intrările de registry.

Mutare-Element- mută un element, inclusiv proprietățile, conținutul și copiii, dintr-o locație în alta. Ambele locații specificate trebuie să fie acceptate de același furnizor. De exemplu, puteți muta un fișier sau un subdirector dintr-un director în altul sau puteți muta o subcheie de registry de la o cheie la alta. Când mutați un articol, acesta este șters în locația sa inițială și creat într-o locație nouă.

Eliminați-element- elimina unul sau mai multe elemente. Acest cmdlet este acceptat de mulți furnizori, astfel încât poate elimina diferite tipuri de elemente, inclusiv fișiere, directoare, chei de registry, variabile, aliasuri și funcții.

Get-ChildItem- primește articole din locații date. Dacă articolul este un container, acest cmdlet primește articolele din container, care se numesc copii. Puteți utiliza parametrul Recurse pentru a prelua articole din toate containerele copil. Locația poate fi o locație în sistemul de fișiere, cum ar fi un director, sau o locație furnizată de un alt furnizor, cum ar fi un registru sau un depozit de certificate.

Parametrii cmdlet-ului Powershell

-ErorAction- parametrul este prezent în toate cmdleturile, vă permite să specificați acțiunea care trebuie efectuată atunci când apare o eroare:

  • Continuare - afișați un mesaj de eroare și continuați execuția
  • SilentlyContinue - ignorați eroarea și continuați
  • Stop - anulează execuția la prima eroare
  • Întrebați - dacă apare o eroare, afișați o solicitare pentru ce să faceți în continuare

Exemplu: Elementul de copiere „d: \ test1 \ klbackup *" "d: \ test2 \" -ErrorAction stop

-Ce-ar fi dacă- afișează un mesaj care descrie rezultatul comenzii, fără a o executa efectiv. Prezent în toate cmdleturile.

get-help about_CommonParameters- o descriere a parametrilor care pot fi utilizați cu orice cmdlet.

SSH peste Powershell

Un exemplu despre cum puteți lucra prin SSH:

# instalați modulul SSH, odată Find-Module Posh-SSH | Instalare-Module # Creare sesiune SSH: Import-Module Posh-SSH $ ComputerName = "1.2.3.4" $ UserName = "ubuntu" $ KeyFile = "C: \ SSH \ key.pem" $ nopasswd = nou-obiect System.Security .SecureString $ Crendtial = New-Object System.Management.Automation.PSCredential ($ UserName, $ nopasswd) $ SSHSession = New-SSHSession -ComputerName $ ComputerName -Credential $ Crendtial -KeyFile $ KeyFile # Creați shell: $ SHSession = $ New-SSHShellStream # trimite comanda $ SSH.WriteLine ("ifconfig") # citiți răspuns $ SSH.read () # închideți sesiunea: $ sshSession | Eliminați-SSHSession

Comenzi:

  • Get-SSHTrustedHost - vedeți gazde de încredere
  • Get-SSHSession - vizualizați o listă de sesiuni deschise
  • Remove-SSHSession - închideți sesiunea

Notă. Puteți utiliza acest modul fără a instala WMF 5.0. Previzualizarea modulului pentru PS 4.0 și 3.0 este disponibilă separat în martie 2016, iar pentru versiuni mai recente, căutați în Centrul de descărcare pentru Previzualizarea modulelor PowerShell de management de pachete.

Instalarea programelor

Acest exemplu instalează patru programe și un set complet de utilitare Sysinternals din depozitul Chocolatey. Primele trei comenzi sunt executate o dată, iar modificarea politicii trebuie confirmată. A patra comandă instalează în tăcere programele listate, iar a cincea doar economisește timp.

# Permite instalarea pachetelor semnate de pe Internet Set-ExecutionPolicy RemoteSigned # Instalați furnizorul Chocolatey Get-PackageProvider –Name Chocolatey -ForceBootstrap # Faceți Chocolatey de încredere Set-PackageSource -Name Chocolatey -Trusted # Instalați programe Install-Plus, Fox vrac , filezilla, sysinternals -Verbose -Force -ProviderName chocolatey # Adăugați calea sysinternals la PATH setx PATH "$ env: cale; C: \ Chocolatey \ bin" -m

Vânzătorul descarcă în C: \ Chocolatey \ lib un pachet bazat pe scriptul chocolateyInstall.ps1. Descarcă programul de instalare de pe site-ul oficial în folderul% temp% \ Chocolatey și îl rulează în modul de instalare silențioasă. Cel mai simplu exemplu este Notepad ++.

Instalați-ChocolateyPackage „notepadplusplus” „exe” „/ S” „https://notepad-plus-plus.org/repository/6.x/6.9/npp.6.9.Installer.exe”

Căutați programe

Există multe programe în depozite, toate cele mai populare sunt cu siguranță acolo.

Găsiți pachetul „* zip *”, „* comandant *” -ProviderName Chocolatey

Tipuri de instalatori și chei de instalare silențioasă

  • Site-ul de instalare automată Windows și Forumul programului de instalare automată
  • Instalarea actualizărilor Windows prin Powershell

    • Descărcarea modulului Windows Update PowerShell de la Microsoft.
    • Despachetați arhiva în folderul% WINDIR% \ System32 \ WindowsPowerShell \ v1.0 \ Modules
    • Dacă nu ați permis încă să rulați scripturi locale, atunci vă permitem să faceți acest lucru: „Set-ExecutionPolicy RemoteSigned”.
      • Puteți verifica folosind comanda „Get-ExecutionPolicy”: ar trebui să fie „RemoteSigned” în loc de „Restricted”
    • Importăm modulul descărcat cu comanda: „Import-Module PSWindowsUpdate”
    • Gata. Acum puteți folosi comenzile:
      • Vizualizați o listă de actualizări disponibile: Get-WUInstall -ListOnly
      • Instalați toate actualizările fără a cere confirmare: Get-WUInstall -AcceptAll
      • Instalați toate actualizările fără a cere confirmare și amânați repornirea: Get-WUInstall -AcceptAll -IgnoreReboot
      • Instalați actualizări specifice cunoscând numărul lor:„Get-WUInstall -KBArticleID KB3066441, KB3078676 -AcceptAll -IgnoreReboot” - acum nu mai trebuie să accesați site-ul web Microsoft și să le descărcați manual
      • Ajutor detaliat pentru modul: get-help Get-WUInstall -detaliat
      • Vizualizați lista actualizărilor disponibile, excluzând categoria „Pachete de limbi”, anteturile „Skype” și actualizarea KB3012973: Get-WUInstall -NotCategory „Pachete de limbi” -NotTitle Skype -NotKBArticleID KB3012973 -ListOnly
      • Instalați actualizări, excluzând categoria „Pachete de limbi”, anteturile „Skype” și actualizați KB3012973: Get-WUInstall -NotCategory „Pachete de limbi” -NotTitle Skype -NotKBArticleID KB3012973 -AcceptAll -IgnoreReboot

    0
    Se aplică la:
    Office 365 pentru profesioniști și întreprinderi mici, Office 365 pentru întreprinderi, [email protected]
    Windows XP, Windows Vista, Windows Server 2003, Windows 7 și Windows Server 2008

    Înainte de a utiliza Windows PowerShell, asigurați-vă că versiunile corecte de Windows PowerShell și Windows Remote Management (WinRM) sunt instalate și configurate pe computer. Trebuie să utilizați un cadru de management Windows care include versiunile corecte de Windows PowerShell v2 și WinRM 2.0.

    Dacă computerul rulează Windows 7 sau Windows Server 2008 R2, nu trebuie să instalați nimic. Windows Management Framework este deja instalat.

    Puteți descărca și instala Windows Management Framework dacă computerul dvs. rulează unul dintre următoarele sisteme de operare:

      Windows Vista cu Service Pack 1 (SP1) sau 2 (SP2)

      Windows Server 2008 cu Service Pack 1 (SP1) sau 2 (SP2)

      Windows Server 2003 cu Service Pack 2 (SP2)

      Windows XP Service Pack 3 (SP3).

    Sa trecem la treaba:

    1. Eliminarea versiunilor anterioare de Windows PowerShell de pe computer

    Înainte de a instala Windows Management Framework, trebuie să dezinstalați toate versiunile existente de Windows PowerShell.

    1.1 Eliminarea Windows PowerShell din Windows Vista

      În grupul Programe din Panoul de control, deschideți Programe și caracteristici și eliminați orice instanță de Windows PowerShell care se află în lista de programe instalate. De exemplu, versiunea CTP a Windows PowerShell v2 poate apărea ca „Windows PowerShell (TM) V2”.

      În secțiunea Activități, selectați Vizualizare actualizări instalate și eliminați orice instanță de Windows PowerShell care se află în lista de actualizări instalate. De exemplu, Windows PowerShell V1 poate apărea ca o actualizare Windows cu unul dintre următoarele numere de articol în baza de cunoștințe Microsoft:

    1.2 Eliminarea Windows PowerShell din Windows Server 2008

      Porniți Server Manager și deschideți secțiunea Componente.

      1. Selectați Eliminați caracteristici.

        Selectați Windows PowerShell și urmați instrucțiunile de dezinstalare.

      În Panoul de control, sub Programe, deschideți Programe și caracteristici și eliminați orice instanță de Windows PowerShell care se află în lista de programe instalate.

      În grupul Activități, selectați Vizualizare actualizări instalate. Eliminați orice instanță de Windows PowerShell prezentă în lista de actualizări instalate.

    1.3 Eliminarea Windows PowerShell din Windows Server 2003 sau Windows XP

      Deschideți Adăugați sau eliminați programe din Panoul de control și eliminați orice instanță de Windows PowerShell care se află în lista de programe instalate.

      Sub Adăugați sau eliminați programe, selectați Afișare actualizări. Eliminați orice instanță de Windows PowerShell prezentă în lista de actualizări instalate. De exemplu, Windows PowerShell V1 poate apărea ca o actualizare Windows cu următorul număr de articol în baza de cunoștințe Microsoft: KB926139.

    2. Eliminarea versiunilor anterioare de WinRM de pe computer

    Toate versiunile existente de WinRM trebuie dezinstalate înainte de a instala Windows Management Framework.

    2.1 Dezinstalarea WinRM din Windows Vista sau Windows Server 2008

      În grupul Programe din Panoul de control, deschideți Programe și caracteristici și eliminați orice instanță de Windows Remote Management care se află în lista de programe instalate.

      În grupul Activități, selectați Vizualizare actualizări instalate. Eliminați orice instanță de Windows Remote Management care se află în lista de actualizări instalate. De exemplu, versiunea CTP a WinRM 2.0 poate apărea ca „WindowsRemoteManagement” cu unul dintre următoarele numere de articol în baza de cunoștințe Microsoft:

    2.2 Eliminarea Windows PowerShell din Windows Server 2003 sau Windows XP

      Deschideți Adăugați sau eliminați programe din Panoul de control și eliminați orice instanță de Windows Remote Management care se află în lista de programe instalate.

      Sub Adăugați sau eliminați programe, selectați Afișare actualizări. Eliminați orice instanță de Windows Remote Management care se află în lista de actualizări instalate. De exemplu, WinRM poate apărea ca o actualizare Windows cu următorul număr de articol în baza de cunoștințe Microsoft: KB936059.

    3. Instalarea Windows Management Framework

      Descărcați și instalați Windows Management Framework. Selectați pachetul care conține Windows PowerShell v2 și WinRM 2.0 care este potrivit pentru sistemul dvs. de operare, arhitectura sistemului și limba.

      După instalarea WinRM și Windows PowerShell, configurați software-ul să funcționeze corect așa cum este descris în pașii următori.

    Notă

    4. Testarea capacității de a rula scripturi în Windows PowerShell

      Faceți clic pe Start, Toate programele, Accesorii, Windows PowerShell.

      Pentru a deschide Windows PowerShell, efectuați una dintre următoarele:

      • Pentru Windows Vista, Windows 7 sau Windows Server 2008 R2, faceți clic dreapta pe Windows PowerShell și selectați Executare ca administrator. Când vi se solicită de către Controlul contului utilizator să continue, faceți clic pe Continuare.

        Pentru Windows XP sau Windows Server 2003, faceți clic pe Windows PowerShell.

      Rulați următoarea comandă:

      Get-ExecutionPolicy

      Dacă valoarea returnată este diferită de RemoteSigned, trebuie să modificați valoarea în RemoteSigned.

      Notă

      Când politica de execuție a scripturilor este setată la RemoteSigned, pot rula numai scripturile create pe computerul utilizatorului sau semnate de o sursă de încredere.

    Pregătirea pentru a rula scripturi în Windows PowerShell

    Într-o sesiune Windows PowerShell deschisă ca administrator, rulați următoarea comandă:

    Set-ExecutionPolicy RemoteSigned

    5. Verificați dacă WinRM are permisiunea de a se conecta la Windows PowerShell

      Selectați Start, Toate programele, Accesorii în secvență.

      Efectuați una dintre următoarele pentru a deschide un prompt de comandă:

      • Pentru Windows Vista, Windows 7 sau Windows Server 2008 R2, faceți clic dreapta pe Command Prompt și selectați Executare ca administrator. Când vi se solicită de către Controlul contului utilizator să continue, faceți clic pe Continuare.

        Pentru Windows XP sau Windows Server 2003, selectați Command Prompt.

      La promptul de comandă, rulați următoarea comandă:

      winrm obține winrm / config / client / auth

      Notă

      Dacă serviciul WinRM rulează deja, nu trebuie să îl porniți. Puteți verifica starea serviciului WinRM rulând comanda sc query winrm.

    Găsiți valoarea Basic = în rezultate. Dacă este specificată valoarea Basic = false, atunci aceasta trebuie schimbată în Basic = true.

    Notă

      Dacă serviciul WinRM rulează și nu trebuie să modificați valoarea de bază, rulați comanda net stop winrm pentru a opri serviciul WinRM.

    Activarea suportului de autentificare de bază în WinRM

      Într-o fereastră de linie de comandă deschisă ca administrator, rulați următoarele comenzi: Valoarea între acolade () este sensibilă la majuscule și minuscule:

      winrm set winrm / config / client / auth @ (de bază = „adevărat”)

      Verificați valoarea Basic = true în rezultatul comenzii.

      Notă

      Dacă serviciul WinRM rulează, rulați comanda net stop winrm pentru a-l opri.

    Următoarea acțiune.

    Salut. =)
    Un alt articol dezgustător despre administrarea Windows Server este dedicat pregătirii inițiale a sistemului de operare pentru utilizare. Răsfăţat de faptul că în versiunea de bază a Windows Server cu GUI (Interfaţă grafică de utilizator), precum şi în Windows Server 2012 Core și mai sus, Powershell este deja instalat, am fost foarte nedumerit de faptul că în Windows Server 2008R2 Core nici măcar nu mirosea. pentru că Configurarea nu a fost foarte evidentă și a trebuit să caut pe google și technet, așa că am decis să notez o mică notă pentru viitor.

    Deci, mai întâi vom avea la dispoziție cel puțin PowerShell 2.0 (de fapt, puteți sări peste acest pas făcând tot ce este descris mai jos în cmd, dar am început cu asta). Acest lucru se poate face în două moduri: rulând utilitarul sconfig.cmd pe linia de comandă sau prin DISM ( Deployment Image Service and Management) în același loc. Primul ne oferă o interfață pseudo-grafică, unde la punctul 4 vom găsi posibilitatea de a instala PS 2.0.

    Prin DISM, acest lucru se face după cum urmează:
    dism.exe / online / activare: MicrosoftWindowsPowerShe ll

    După ce am instalat PS, am repornit și am avut la dispoziție un instrument puțin mai adecvat, vom încerca să-l actualizăm la versiunea actuală. La momentul scrierii acestui articol, este versiunea 4.0 sau versiunea de previzualizare 5.0. Pentru mine, cea mai puțin utilizabilă versiune este 3.0, care are deja o mulțime de cmdlet-uri pentru gestionarea rolurilor de server și a resurselor care lipsesc în a doua versiune. Windows PowerShell 3.0 necesită .Net Framework 4.0 sau o versiune ulterioară.
    Dacă încercăm să instalăm acum .Net 4.0, aflăm că pentru aceasta avem nevoie de .Net 2.0 deja instalat, care din anumite motive lipsește în ediția Server Core. Este amuzant, dar din obișnuință, după descărcarea programului de instalare și rularea acestuia, vom primi un refuz de instalare și o notă despre necesitatea folosirii dism.exe. > _< OK, dism, так dism. Уставливается по аналогии с PS:
    dism.exe / online / activare: NetFx2-ServerCore
    dism.exe / online / activare: NetFx2-ServerCore-WOW64

    Următorul pas este actualizarea .Net Framework la cea mai recentă versiune. Dacă doriți să utilizați Powershell 3.0, instalați .Net 4.0, dar dacă doriți cea mai recentă versiune, veți avea nevoie de .Net 4.5.1 sau o versiune superioară. Alegerea vă aparține, instalarea sa este extrem de simplă. Singura problemă este obținerea pachetului de instalare - am conectat o unitate de rețea la server, pe care am încărcat toate fișierele de instalare; puteți folosi orice mediu de stocare convenabil pentru dvs.

    Deci, am pregătit baza pentru instalarea versiunii PS 3.0 și ulterioare. Următorul pas este să descărcați instalatorul Windows Management Framework și să îl instalați. Descărcați și rulați KB2819745 al arhitecturii de care avem nevoie:

    În mod tradițional, după instalare, avem nevoie de o repornire, după finalizarea acestuia, vom avea la dispoziție PowerShell 4.0.

    Apropo, pentru a putea folosi cmdletul Add-WindowsFeature (redenumit în Install-WindowsFeature în Windows Server 2012) pentru a configura rolurile de server, va trebui să instalați componente Server Manager prin același DISM.EXE. Arata cam asa:
    dism.exe / online / activare: ServerManager-PSH-Cmdlet s
    În general, sunt foarte răsfățat de cele mai recente versiuni de PS, tk. Am început să lucrez la el după lansarea celei de-a treia versiuni, dar după cum sa dovedit, dism.exe poate fi folosit și pentru a instala roluri. Și dacă nu cunoașteți numele caracteristicii de care aveți nevoie, atunci puteți oricând să vă uitați la toate opțiunile disponibile și starea lor prin parametrul / get-features. Dar în ceea ce mă privește, Get-WindowsFeature este mult mai informativ. =)
    dism.exe / online / get-features vs. Get-WindowsFeature

    A trecut ceva timp de la lansarea lansării finale a celui mai recent sistem de operare de la Microsoft și nu numai pasionații care testează ansambluri intermediare, ci și acei utilizatori care au descărcat actualizarea mult așteptată au reușit deja să se familiarizeze cu acesta. Este noul sistem un lucru bun sau nu? Este cel mai recent produs inovator sau doar G8 care ar fi trebuit să fie lansat în timp util? Sunt întrebări la care, în orice caz, nu se poate răspunde fără echivoc. Pe lângă inovațiile evidente, care includ meniul Start, browserul Microsoft Edge, compatibilitatea Xbox, căutarea integrată și vizualizarea sarcinilor cu Cortana, există o serie de inovații despre care nu toți utilizatorii de Windows 10 le cunosc.

    Și una dintre aceste inovații este capacitatea de a instala produse software direct folosind Windows PowerShell, despre care va fi discutată mai târziu în acest articol. În ciuda faptului că această funcționalitate a apărut în aprilie 2014 odată cu lansarea Windows Management Framework 5.0 Preview, ea a putut deveni nativă doar odată cu lansarea finală a primelor zece. Deci, să vedem care modul este responsabil pentru această funcționalitate și cum puteți instala produse software fără a descărca fișierele de instalare.

    Modulul Windows PowerShell OneGet

    De la lansarea Windows Management Framework 5.0 Preview, Windows PowerShell are câteva caracteristici noi concepute pentru a facilita gestionarea computerelor. Aceste capabilități includ două tehnologii interesante, și anume Windows PowerShell Desired State Configuration și Certified for Windows Network Switches.

    În cazul comutatoarelor de rețea certificate pentru Windows, au fost adăugate o serie de cmdlet-uri Windows PowerShell pentru a gestiona comutatoarele de rețea certificate Windows. Adică, există 19 cmdlet-uri noi pe care le puteți găsi rulând „Get-Command * -NetworkSwitch *” în PowerShell. Deoarece tehnologia este destul de serioasă și merită o atenție deosebită, în acest articol mă voi limita la o mică descriere și nu voi lua în considerare această tehnologie mai detaliat.

    Dar a doua tehnologie ar trebui discutată mai detaliat. Dacă instalați Windows Management Framework 5 sau Windows 10, puteți utiliza un instrument pentru a face mult mai ușoară găsirea și instalarea software-ului pe computerele dvs. OneGet este un astfel de instrument. OneGet este un agregator de gestionare a pachetelor, care este un modul specific depozitului care oferă o interfață unică pentru descoperirea, instalarea și inventarierea software-ului. Cu alte cuvinte, această tehnologie, pe de o parte, oferă un set de cmdlet-uri care permit utilizatorului final să gestioneze pachetele de instalare (despre care vom vorbi puțin mai târziu), iar pe de altă parte, oferă o interfață pentru scrierea furnizorului. pachete.

    Înainte de a începe să ne ocupăm de modulul în sine, ar trebui să acordați atenție mai multor definiții care sunt strâns legate de această tehnologie, și anume:

    • Punga de plastic... Pe scurt, un pachet este un program care este construit și instalat dintr-o anumită sursă folosind orice sistem de gestionare a pachetelor disponibil. De obicei, un pachet oferă cod compilat cu metainformații suplimentare, cum ar fi descrierea pachetului, versiunea sau „dependențe”. Sistemul de gestionare a pachetelor, de exemplu, pentru a efectua o actualizare automată a unui produs software la o versiune nouă, pentru a se asigura că toate dependențele pachetului sunt instalate, ar trebui să proceseze astfel de metainformații și, dacă este necesar, ar trebui să instaleze automat toate pachetele lipsă. ;
    • Repertoriu... Conform wikipediei, arhivele sunt locul în care datele sunt stocate și întreținute. Cel mai adesea, datele din depozit sunt stocate sub formă de fișiere disponibile pentru distribuție ulterioară în rețea. Inițial, depozitele erau folosite de sistemele Linux, permițându-vă să instalați pachetele necesare pentru ca sistemul să funcționeze din alte locații. Majoritatea depozitelor sunt gratuite, totuși unele companii oferă acces la propriile depozite pentru un abonament plătit. Despre depozitele OneGet vom vorbi puțin mai jos;
    • Manager de pachete... Este un set de instrumente software responsabile cu automatizarea procesului de instalare, actualizare, configurare și eliminare a pachetelor software. Pachetele includ de obicei o bază de date care listează cerințele preliminare și dependențele de software și informații despre lansarea produsului pentru a preveni utilizarea produselor software nefuncționale. Managerii de pachete includ Linux apt-get sau NuGet, care a apărut ulterior pe sistemele Windows. La rândul său, OnetGet este o extensie logică a NuGet care acționează ca un agregator pentru toți managerii de pachete disponibili numiți furnizori.

    Microsoft restricționează inițial utilizarea majorității furnizorilor disponibili, oferind o bază de referință care vă permite să descoperiți și să instalați furnizori suplimentari pentru a vă gestiona software-ul. Printre furnizorii de bază se numără:

    • Bootstrap- un furnizor care vă permite să găsiți alți furnizori;
    • MSI- un furnizor dedicat manipulării fișierelor MSI;
    • MSU- la rândul său, furnizorul responsabil cu procesarea fișierelor de actualizare Microsoft;
    • ARP(Adăugați/Eliminați programe) - un furnizor responsabil pentru datele de inventar despre orice produs software care este înregistrat în componenta de sistem „Eliminarea sau modificarea unui program”;
    • PowerShellGet Este un furnizor care vă permite să gestionați diverse module PowerShell.

    Puteți găsi o listă completă a furnizorilor OneGet cu descrierile lor scurte la următorul link.

    Modulul OneGet în sine include 10 cmdleturi Windows PowerShell, dintre care majoritatea vor fi tratate în următoarea secțiune a acestui articol. Aceste cmdleturi includ:

    • Find-Package - Efectuează o căutare de pachet;
    • Get-Package - returnează o listă cu toate pachetele instalate pe computer;
    • Get-PackageProvider - Returnează o listă de furnizori care sunt conectați la OneGet pe acest computer;
    • Get-PackageSource - Returnează o listă de surse de pachete care sunt înregistrate la un anumit furnizor de pachete.
    • Install-Package - vă permite să instalați unul sau mai multe produse software;
    • Register-PackageSource Adaugă o sursă de pachet pentru furnizorul de pachet specificat.
    • Save-Package - vă permite să salvați un pachet pe computerul local fără instalare ulterioară;
    • Set-PackageSource Modifică sursa pachetului pentru furnizorul de pachet specificat.
    • Uninstall-Package - eliminați unul sau mai multe pachete software;
    • Unregister-PackageSource - Șterge o sursă de pachet înregistrată.
      • Instalarea software-ului cu OneGet

        Așa că a sosit timpul pentru procesul de instalare a produselor software. În continuare, veți vedea cum puteți instala furnizorul de pachete, găsiți software-ul necesar, instalați-l, precum și cum puteți elimina o aplicație inutilă și descărca pachetul de instalare al produsului software pe computer. Să începem în ordine.

        Instalarea furnizorului de pachete Chocolatey

    1. Deschideți Windows PowerShell și pentru a afișa o listă de surse de pachete care sunt înregistrate cu OneGet pe computerul local, executați comanda Get-PackageSource... Rețineți că, dacă specificați un anumit furnizor de pachet în comandă, atunci cmdletul Get-PackageSource va afișa numai sursele pentru dvs. care sunt asociate cu furnizorul pe care l-ați specificat. În caz contrar, comanda returnează toate sursele de pachet care sunt înregistrate cu OneGet. Deoarece trebuie să vedem sursele pachetului pentru toți furnizorii, comanda va rula fără parametri suplimentari. Asigurați-vă că rețineți că în această etapă nu ați instalat încă un furnizor suplimentar de pachete care va fi folosit pentru a instala produse software. Puteți vedea rezultatul comenzii în următoarea imagine:

    2. După cum puteți vedea în ilustrația anterioară, furnizorul Chocolatey nu este instalat pe mașina noastră locală. Prin urmare, acest lucru trebuie corectat. Rețineți că PowerShell ExecutionPolicy trebuie setat la Nerestricționat... În caz contrar, nu veți putea adăuga un furnizor. Permiteți-mi să vă reamintesc că cmdletul Get-ExecutionPolicy vă permite să afișați politicile de execuție pentru sesiunea curentă. O politică de execuție face parte din strategia de securitate Windows PowerShell care determină dacă fișierele de configurare pot fi încărcate și scripturile pot fi executate și care scripturi necesită o semnătură digitală pentru a fi executate. Valoarea implicită este „ Restricţionat„(Nu încarcă fișierele de configurare și nu execută scripturi), așa că dacă nu ați schimbat valoarea politicii de execuție pentru dvs., executați comanda Set-Executionpolicy Unrestricted... Deoarece politica de execuție implicită este setată la LocalMachine, astfel încât setările politicii să se aplice numai utilizatorului curent, puteți adăuga, de asemenea, parametrul la comanda pe care o aplicați – Domeniul de aplicare cu sensul Utilizator curent... Ieșirea acestor două comenzi poate fi văzută în următoarea ilustrație:

    3. În această etapă, ne putem uita la lista furnizorilor care sunt înregistrați la OneGet pe computerul curent. Pentru a face acest lucru, puteți utiliza cmdletul Get-PackageProvider... Acest cmdlet, așa cum am menționat deja puțin mai sus, returnează o listă de furnizori de pachete care sunt deja conectați la OneGet. Opțional, puteți filtra rezultatele în funcție de întregul nume sau de o parte a unuia (sau mai multor) nume de furnizor. De exemplu, pentru a vedea ce furnizori sunt conectați în prezent, ar trebui să rulați cmdletul Get-PackageProvider fără parametri suplimentari. După cum puteți vedea în ilustrația următoare, inițial pe computer am conectat 4 astfel de furnizori, despre care v-am povestit deja astăzi. Acum, pentru a instala furnizorul Chocolatey pe computer, trebuie să rulați comanda Get-PackageProvider –Nume Chocolatey –ForceBootstrap unde parametrul –ForceBootstrap este responsabil pentru instalarea automată a furnizorului. Rețineți că, ca regulă generală, atunci când instalați furnizorul Chocolatey, trebuie instalat și furnizorul NuGet. După cum puteți vedea în ilustrația următoare, după reutilizarea cmdlet-ului Get-PackageProvider, furnizorul pe care îl instalăm ar trebui să apară deja în listă:

    Acum putem genera o listă completă a tuturor pachetelor disponibile în furnizori și o putem trimite către cmdlet Export-CliXML pentru a crea o reprezentare XML a obiectelor și a le stoca într-un fișier XML. Vă rugăm să rețineți că lista pe care o exportați se va schimba constant și, în timp, din ce în ce mai multe pachete vor fi adăugate în depozitele pe care le utilizați. În consecință, nu uitați să înlocuiți fișierul pe care îl exportați din când în când. Pentru a exporta lista de pachete și a salva această listă în folderul C:\TestPosh, trebuie să rulați următoarea comandă: Găsiți-pachet | Export-CliXML C: \ TestPosh \ Test.xml

    Vă rugăm să rețineți că procedura de export vă va lua cu siguranță ceva timp. După ce comanda se termină de executat și este creat un fișier XML pe computer, importați-l și, pentru ușurință de vizualizare, utilizați pipeline și comanda GridView responsabil de afișarea rezultatelor execuției comenzii într-o fereastră sub forma unui tabel interactiv, puteți vedea ce pachete vor fi disponibile pentru instalare. Desigur, puteți deschide această listă de pachete folosind orice aplicație care poate procesa fișiere XML, de exemplu, folosind același Excel. Această comandă, după cum puteți vedea în ilustrația următoare, arată astfel: Import-CliXML C: \ TestPosh \ Test.xml | Out-GridView

    Deoarece furnizorul este deja instalat, puteți trece la următoarea parte a acestei proceduri, și anume la

    Instalarea software-ului folosind PowerShell

    Înainte de a instala produse software, ar trebui să ne uităm la ceea ce este deja instalat pe computer. Pentru a îndeplini această sarcină, puteți utiliza cmdletul Obțineți pachet, care returnează o listă a tuturor pachetelor software instalate pe computerul local folosind fie OneGet, fie alte instrumente de instalare a aplicațiilor. Opțional, puteți rula și cmdletul Obțineți pachetși pe computere la distanță, rulând-o ca parte a Invoke-Command, Enter-PSSession sau script.

    Dacă doriți să obțineți informații despre un anumit software, de exemplu, despre produsele Microsoft Office 2013 instalate, puteți utiliza parametrul –Name împreună cu acest cmdlet cu o valoare adecvată, de exemplu, Get-Package -Nume „office 2013”... Ieșirea din acest cmdlet este vizibilă mai jos:

    Înainte de a instala software-ul, să încercăm să decidem ce trebuie să instalăm. Deoarece pe mașină sunt instalate doar Office 2013 și alte câteva aplicații, atunci vă voi arăta cum puteți instala produse software precum Adobe Creative Cloud, Adobe Reader, Notepad ++, precum și Process Explorer, Process Monitor și WinRar.

    Având în vedere faptul că înainte de procesul de instalare în sine trebuie să localizăm pachetele în sine, ar trebui să folosim capacitățile cmdlet-ului Găsiți pachet... După cum ați observat puțin mai devreme, acest cmdlet vă permite să căutați pachete de instalare în sursele de pachete disponibile pe computerul local. În cazul în care nu utilizați niciun parametru cu acest cmdlet, comanda va afișa o listă completă a tuturor aplicațiilor, așa cum a fost menționat mai devreme.

    De exemplu, mai întâi să încercăm să găsim aplicații Adobe care sunt disponibile pentru instalare de la furnizorul Chocolatey pe care l-am adăugat. Pentru a face acest lucru, pe lângă cmdlet-ul în sine, este suficient să specificați parametrul -Numeși introduceți produsul software necesar ca valoare. Deoarece un nume de produs poate fi specificat după cuvântul Adobe în pachetele de instalare, ar trebui să introduceți numele produsului după cum urmează: Adobe * așa cum se arată în ilustrația următoare. După cum puteți vedea, modulul OneGet a găsit următorul pachet de instalare în depozit: Adobe-creative-cloud versiunea 1.0. Practic, acesta este unul dintre produsele pe care le cauți, ceea ce înseamnă că ar trebui instalat. Pentru a face acest lucru, după cum puteți vedea și în ilustrația următoare, trebuie să utilizați capacitățile cmdlet-ului Pachetul de instalare... Pentru a instala Creative Cloud, executați următoarea comandă Install-Package -Nume adobe-creative-cloud -Force unde parametrul Force, așa cum este obișnuit în PowerShell, suprascrie restricțiile care împiedică executarea comenzii până când modificările încep să încalce cerințele de securitate. Ieșirea acestor comenzi poate fi văzută în următoarea ilustrație:

    Acum, după ce primul produs software a fost instalat, să încercăm să căutăm o anumită versiune de Adobe Reader. Pentru a face acest lucru, pe lângă comanda deja binecunoscută Find-Package – Nume AdobeReader ar trebui să adauge un parametru – Toate versiunile care returnează toate versiunile disponibile ale unui pachet sau toate versiunile unui pachet care se află în intervalul specificat în opțiuni MinimumVersionși MaximumVersion... Vă rugăm să rețineți că acest parametru este opțional, deoarece căutarea afișează inițial cea mai recentă versiune a produsului software. Acum, din toate versiunile disponibile, ar trebui să o alegem pe cea care ar trebui instalată pe computer, de exemplu, să fie versiunea 2015.007.20033 ... pentru a instala această versiune specială a cititorului, urmați comanda Install-Package -Nume AdobeReader adăugați un parametru -Versiune obligatorie cu sensul 2015.007.20033 care definește versiunea exactă a pachetului pe care doriți să-l instalați. De asemenea, puteți instala versiunea maximă disponibilă a produsului prin adăugarea parametrului MaximumVersion cu valoarea corespunzătoare. Ieșirea acestor comenzi poate fi văzută în următoarea ilustrație:

    Dacă trebuie să instalați cea mai recentă versiune a unui produs software și, în același timp, nu doriți să introduceți mai multe comenzi în PowerShell, puteți generaliza căutarea și instalarea unui pachet folosind o conductă. De exemplu, în cazul instalării celei mai recente versiuni a editorului de text Notepad ++, puteți rula următoarea comandă: Find-Package -Name NotepadPlusPlus | Pachetul de instalare – Forțare... Astfel, cauți în depozit un pachet și, dacă se găsește un rezultat, îl instalezi imediat în modul silențios. Procesul de instalare pentru acest produs software este prezentat mai jos:

    Acum, deoarece conform sarcinii de mai sus, rămâne să instalați Process Explorer, Process Monitor și WinRar, să încercăm să instalăm mai multe pachete software deodată. Pentru a face acest lucru, este recomandabil să știți exact cum sunt numite aceste pachete în depozitul propriu-zis. După cum am scris mai devreme, acest lucru poate fi verificat folosind cmdletul Găsiți-pachet | Out-GridView... După ce sunt cunoscute numele pachetelor, puteți începe instalarea în sine. Pentru a face acest lucru, puteți rula următoarea comandă: Find-Package -Name procexp, procmon, winrar | Pachetul de instalare... În acest exemplu, după cum puteți vedea în ilustrația următoare, nu specific în mod specific parametrul Forta astfel încât să puteți acorda atenție întregului proces de instalare a mai multor pachete software în același timp.

    Salvarea și eliminarea programelor

    Ultimele două cmdleturi care vor fi discutate în acest articol sunt responsabile pentru salvarea pachetului de instalare și eliminarea programului instalat. Să începem cu salvarea.

    Pentru a salva pachetul de instalare, puteți folosi următorul cmdlet al modulului OneGet și anume modulul Pachet de salvare... Acest cmdlet vă permite să salvați pachetele pe computerul local fără a le instala. În mod implicit, acest cmdlet păstrează cea mai recentă versiune a produsului software, dar dacă adăugați parametrul la cmdletul curent Toate versiunile, pe computerul dvs. vor fi salvate toate versiunile programului selectat plasate în depozit. Mai mult decât atât, similar cu parametrii cmdlet-urilor de căutare și instalare a programelor, pe lângă salvarea tuturor versiunilor folosind parametri -MaximumVersionși -Versiune minimă, puteți selecta în continuare gama de versiuni de pachet pe care doriți să o păstrați. Pentru a salva pachetul pe computer, pe lângă parametru Numeși, dacă este necesar, parametrul responsabil pentru versiunea produsului, trebuie să specificați parametrul cale cu locația viitoare a instalatorului dvs.

    După cum puteți vedea în ilustrația următoare, comanda Salvare pachet – Nume Procexp – Calea C: \ TestPosh va salva cea mai recentă versiune a Process Explorer în folderul C:\TestPosh:

    Dacă ați instalat accidental pachetul greșit, îl puteți dezinstala oricând folosind modulul OneGet. Pentru a face acest lucru, utilizați cmdletul Pachetul de dezinstalare... Ca și în cazul celorlalte cmdlet-uri din acest modul, pentru a dezinstala un program, trebuie să specificați parametrul Nume cu numele adecvat al aplicației și, de asemenea, pentru a dezinstala silențios, puteți utiliza parametrul Force. De exemplu, pentru a elimina un WinRAR instalat anterior de pe computer, trebuie să rulați următoarea comandă: Uninstall-Package –Nume WinRAR –Force ca mai jos:

    Concluzie

    În acest articol, ați aflat despre una dintre caracteristicile noului sistem de operare de la Microsoft, și anume, instalarea software-ului folosind shell-ul de comandă Windows PowerShell. V-am spus despre modulul OneGet în sine, despre terminologia de bază folosită împreună cu această tehnologie și despre ce sunt furnizorii de pachete preinstalați. Ați învățat cum puteți conecta un furnizor de pachete terță parte la OneGet și cum puteți găsi, instala, salva și dezinstala produse software.

    Sper că aceste informații ți-au fost utile și că ai învățat ceva nou pentru tine. Dacă aveți întrebări despre materialul acestui articol - întrebați-le în comentarii, voi fi bucuros să vă ofer orice ajutor.

    VN: F

    Evaluare: 9.9 / 10 (18 voturi exprimate)

    Instalarea programelor folosind PowerShell pe Windows 10, 9,9 din 10 pe baza a 18 evaluări

    Top articole similare