18 ordres de Powershell més útils per a administradors de Windows

18 de desembre de 2021 19859 Vistes Les ordres de Powershell més útils

En aquesta Zona S, Victor comparteix la seva llista definitiva de les ordres de PowerShell més útils per als administradors del sistema. Per a cada comanda, explica la sintaxi i els paràmetres. Després acaba amb alguns exemples.

En aquesta Zona S, faré servir comandes de PowerShell, PS, cmdlets i cmdlets de PowerShell, de manera intercanviable.

Navega per temes de publicació

Ordres de Powershell més útils per trobar i obtenir ajuda amb cmdlets

No podeu parlar de les ordres de PowerShell més útils sense aprendre a trobar-les. A continuació es mostren les ordres de PowerShell que us ajudaran a trobar cmdlets.

Get-Command

El cmdlet Get-Command és el primer i més important PS que un principiant de PowerShell hauria d'aprendre i saber utilitzar-lo. Per què? Us ajuda a trobar altres cmdlets de PowerShell. Quina ordre pot ser més important que una ordre que pot fer això?

Per trobar totes les ordres PS al vostre ordinador, només heu d'executar aquesta ordre a continuació:

|_+_| les ordres de powershell més útils

Comprensió dels resultats del cmdlet Get-Command

Hi ha quatre columnes als resultats de la sortida Get-Command

  1. CommandType : Això us indica si l'ordre és un àlies, un cmdlet o una funció.
  2. Nom : El nom és l'ordre real que executeu.
  3. Versió : Aquesta és la versió de PowerShell
  4. Font : el mòdul de l'ordre PS.

Amb aquesta informació, podeu filtrar els resultats de Get-Command. Suposem que voleu veure les ordres de PowerShell que contenen la paraula EventLog, executant l'ordre següent es farà la feina:

|_+_|

Observeu on he afegit els asteriscs. Això és perquè en sóc conscient
EventLog és la part substantiva dels cmdlets. Tanmateix, si ni tan sols ho sabeu, podeu provar d'afegir els asteriscs al principi i després provar el final.

A continuació es mostra el resultat de l'ordre anterior.

Paràmetres de l'ordre d'obtenció

Finalment, abans de continuar, parlem dels paràmetres del cmdlet Get-Command.

Per obtenir tots els paràmetres i informació sobre l'ordre Get-Command, executeu aquesta ordre a continuació:

|_+_|

Això us donarà tota la informació sobre el cmdlet Get-Command.

A continuació parlaré del cmdlet Get-Help.

Aconseguir ajuda

Mentre que el cmdlet Get-Command troba el cmdlet, necessiteu, l'ordre Get-Help PowerShell us proporciona la informació que necessiteu per executar l'ordre.

El més fàcil d'utilitzar el cmdlet Get-Help és introduir Get-Help seguit de l'ordre sobre la qual voleu informació. Per trobar més informació sobre el cmdlet Get-EventLog, executeu l'ordre següent:

|_+_|

Això us donarà la informació bàsica sobre Get-EventLog PowerShell Command. Vegeu el resultat a continuació:

Alguns paràmetres importants de l'ordre Get-Help

Com qualsevol altre cmdlet de PowerShell, el cmdlet Get-Help té diversos paràmetres. A continuació es mostren els paràmetres més importants que necessitareu.

  1. -Detallada : El Detallada El paràmetre us proporciona l'ordre SYNTAX, PARAMTERS, ALIAS i REMARKS.
  2. - Plena : El Full ofereix informació similar proporcionada pel Detallada paràmetre amb més informació sobre cada paràmetre
  3. -Exemples : dóna exemples de com utilitzar el cmdlet. Això pot ser molt útil si no heu utilitzat mai el cmdlet abans i no heu perdut com procedir.
  4. -En línia : obre la pàgina d'ajuda en línia del cmdlet.
Per veure els paràmetres d'un cmdlet PS, escriviu el cmdlet a PS, premeu la tecla espai, escriviu guionet, seguit de la tecla de tabulació. Quan premeu la tecla de tabulació, us desplaçareu pels paràmetres disponibles.

Les ordres de Powershell més útils per gestionar fitxers i carpetes

Ara que ja sabeu com trobar les ordres de PowerShell, us permetrà posar-vos al capó. El següent conjunt de les ordres de powershell més útils són cmdlets per ajudar-vos a gestionar fitxers i carpetes.

Get-ChildItem

Obté elements en una ubicació especificada. Per llistar les carpetes de la meva unitat C, executaré l'ordre següent:

|_+_|

Això mostrarà totes les carpetes de nivell superior. Per llistar tots els fitxers, les carpetes inclouen subcarpetes, utilitzeu - Recurs paràmetre.

Consell professional
Podeu combinar el permís de cmdlet Get-ChildItem amb un altre cmdlet per calcular la mida de cada carpeta en un directori especificat.

Copia-Item i Move-Item

Podeu utilitzar el cmdlet Get-ChildItem per llistar els elements d'una carpeta i, a continuació, canalitzar el resultat al cmdlet Copy-Item per copiar els elements a una ubicació nova. L'ordre següent farà la feina:

|_+_| L'ordre de powershell anterior només copiarà les carpetes i fitxers de nivell superior; NO copiarà subcarpetes i fitxers. Per copiar tots els fitxers i carpetes, incloses les subcarpetes, incloeu el - Recurs paràmetre a l'ordre Get-ChildItem tal com es mostra a continuació: |_+_|

Mentre que el cmdlet Copy-Item copia elements d'una ubicació a una altra, el cmdlet Move-Item mou l'element.

Elimina-element

Aquest cmdlet suprimeix els elements especificats. Igual que els cmdlets Copy-Item i Move-Item, podeu canalitzar la sortida de Get-ChildItem a Remove-Item.

Feu servir el cmdlet Remove-Item amb precaució, ja que pot suprimir tots els fitxers i carpetes del vostre ordinador, inclosos els fitxers de Windows. Consell professional
En canalitzar la sortida de Get-ChildItem a Remove-Item, podeu crear un script senzill que suprimirà alguns fitxers de registre de manera habitual. Podeu programar l'script PS perquè s'executi a l'hora especificada mitjançant el Programador de Windows.

Les ordres de Powershell més útils per informar

Hi ha 3 conjunts d'ordres de PowerShell que podeu utilitzar per exportar elements a CVS, exportar a fitxers de text i a fitxers HTML. A continuació parlarem d'aquests 3.

Exportar-Csv

Export-Csv converteix un conjunt de cadenes en CSV i desa en un fitxer. Aquest cmdlet és molt important per informar.

Per demostrar l'ús de Export-CSV, executeu l'ordre següent:

|_+_|

Aquí teniu el resultat de l'ordre.

ordres de powershell

Podeu canalitzar la sortida de l'ordre anterior a Export-CSV per crear un informe CVS dels resultats que es mostren a la imatge anterior.

Aquí teniu l'ordre per dur a terme aquesta tasca.

|_+_|

Tingueu en compte que vaig haver d'incloure el nom del fitxer CSV al camí. També tinc un altre paràmetre -NoTypeInformation . Per obtenir més informació sobre -NoTypeInformation, llegiu aquest article de PowerShell NoTypeInformation: aplicacions i usos.

Hi ha un altre cmdlet a l'ordre anterior, Selecciona-Objecte . Aquest cmdlet es va utilitzar per especificar les columnes a retornar i exportar a CSV. Si jo exclou Selecciona-Objecte la sortida del CSV contindrà moltes dades no desitjades. Més endavant en aquest tutorial, tractaré Select-Object.

Com a referència, a continuació es mostra la sortida del fitxer CSV.

ordres de powershell

Tot i que aquest informe és molt similar a la sortida que es mostra a la imatge anterior, és més útil com a informe. Podeu enviar el fitxer CSV al vostre cap!

Fora de fitxer

El cmdlet Out-file envia la sortida a un fitxer de text

L'ordre següent exportarà la sortida del cmdlet de PowerShell Get-Command a un fitxer de text en lloc d'un CSV:

|_+_|

Aquí teniu el resultat en un fitxer de text: El mateix informe, ara en un fitxer de text! Que bo és això!

Què passa si executeu aquest informe diàriament i no voleu modificar el contingut del dia anterior sinó afegir-hi. Aquesta comanda farà la feina.

|_+_|

Ordres Powershell més útils per gestionar processos

Un altre conjunt d'ordres de PowerShell més útils per als administradors de Windows són els cmdlets per gestionar els processos de Windows. Mirem-los.

Obtenir-procés

Aquest cmdlet de PowerShell enumera tots els processos que s'executen en un ordinador local. També podria fer que els processos s'executin en un ordinador remot, amb el Nom de l'ordinador paràmetre.

Tanmateix, quan executeu el cmdlet Get-Process PowerShell sense cap paràmetre, retorna tots els processos que s'executen a l'ordinador local. Per provar-ho, executeu l'ordre següent. El resultat es mostra a la imatge següent.

|_+_|

Ordres de PowerShell Start-Process i Stop-Process

L'ordre Get-Process PowerShell pot funcionar amb els cmdlets Start-Process i Stop-Process PowerShell per iniciar o aturar un procés o conjunt de processos.

Suposem que heu executat l'ordre Get-Process PowerShell però voleu aturar un procés amb un ID de procés específic 10500, l'ordre següent farà la feina.

|_+_| Avís!
Utilitzeu el cmdlet de PowerShell Stop-Process amb precaució, ja que aturar el procés incorrecte podria fer que el vostre ordinador sigui inestable.

Per iniciar el procés, canalitzeu la sortida de l'ordre Get-Process PowerShell al cmdlet Stop-Process PowerShell.

Les ordres de PowerShell més útils per gestionar els registres d'esdeveniments

La gestió del registre d'esdeveniments és una de les tasques més importants per als administradors de Windows. Per tant, el següent conjunt d'ordres de PowerShell us ajudarà a gestionar els registres d'esdeveniments.

Get-EventLog

El cmdlet de PowerShell Get-EventLog obté esdeveniments en un registre d'esdeveniments especificat. Podeu obtenir esdeveniments en un ordinador local o remot. Per obtenir esdeveniments des d'un ordinador remot, utilitzeu - Nom de l'ordinador paràmetre per especificar l'ordinador remot. Tanmateix, tingueu en compte que necessitareu els permisos adequats per accedir a l'ordinador remot.

Per obtenir els darrers 5 esdeveniments registrats al registre d'esdeveniments del sistema, executeu l'ordre següent

|_+_| Consell professional
L'última ordre es pot utilitzar per resoldre problemes.

Esborra el registre d'esdeveniments

Com és d'esperar, hi ha més cmdlets de registre d'esdeveniments, però tractarem aquest 2 per a aquest tutorial.

El Clear-EventLog esborra tots els esdeveniments del registre d'esdeveniments especificat. El cmdlet pot esborrar els registres d'esdeveniments tant en equips locals com remots.

L'ordre següent esborra tots els esdeveniments amb el nom de Windows PowerShell de l'ordinador local

|_+_| Per executar l'ordre següent, heu d'obrir PowherShell com a administrador: feu clic amb el botó dret i seleccioneu Executar com a administrador.

Les ordres de PowerShell més útils per obtenir informació sobre el vostre ordinador

Si necessiteu recopilar dades sobre els ordinadors de la vostra xarxa: nom de l'ordinador, versió del BIOS, mida de la memòria RAM, informació del disc, etc., el cmdlet Get-WmiObject POwerShell és el vostre amic! explorem aquest potent cmdlet, ho farem.

Get-WmiObject

Get-WmiObject té un paràmetre anomenat - Classe això us permet especificar l'objecte WMI al qual voleu accedir. L'ordre següent obtindrà una llista de classes WMI, |_+_|

Un cop conegueu el nom de la classe WMI, podeu executar Get-WmiObject per retornar informació útil des d'un ordinador local o remot. A continuació es mostra una llista de les classes WMI més importants que podeu necessitar

  • Win32_PhysicalMemory: informació sobre la memòria disponible
  • Win32_Processor: informació del processador
  • Win32_LogicalDisk: informació de la unitat de disc lògic
  • Win32_DiskDrive: informació del disc físic
  • Win32_OperatingSystem: informació sobre el sistema operatiu
  • Win32_BaseBoard: obteniu informació sobre la placa base

Per obtenir informació sobre el sistema operatiu, executeu l'ordre següent:

|_+_|

Ordres de PowerShell més útils per connectar-se a sessions remotes de PowerShell

No podeu parlar de les ordres de PowerShell sense parlar de la connexió remota de PS. Com a administrador de sistemes de Windows, haureu de connectar-vos de manera remota als ordinadors mitjançant PowerShell.

Aquí teniu les ordres que necessitareu.

Comandes de PowerShell Enter-PSSession i Exit-PSSession

L'ordre Enter-PSSession PowerShell us permet iniciar de manera interactiva una sessió de PS remota en un sol ordinador. Quan acabeu amb l'ordinador remot, finalitzeu la sessió amb l'ordre Exit-PSSession.

Per obrir una sessió de PS remota amb un ordinador anomenat Computer1, executeu l'ordre següent:

|_+_|

Invocar-Ordre

Mentre que el cmdlet Enter-PSSession PowerShell us permet executar ordres en un únic ordinador remot, el cmdlet Invoke-Command us permet executar ordres en un o més ordinadors remots.

Si voleu executar l'ordre Get-Process a Computer1, Computer2, Computer3, executeu aquesta ordre:

|_+_|

Nova-PSSession

El cmdlet de PowerShell New-PSSession us permet obrir una sessió persistent amb un ordinador remot. Com que la sessió és persistent, és una bona idea afegir la sessió remota en una variable.

Per obrir una sessió de PS remota persistent als ordinadors Computer1, Computer2, executeu l'ordre següent:

|_+_|

Amb la sessió PS establerta i emmagatzemada a la variable $session, podeu executar ordres normals de PowerShell a la sessió remota mitjançant el
Cmdlet de PowerShell Invoke-Command.

Com a últim exemple a les sessions remotes de PowerShell, per executar el Get-Process als ordinadors remots, executeu l'ordre:

|_+_| Vaig emmagatzemar els resultats de l'ordre Get-Process en una variable anomenada $Processes perquè hi ha diversos ordinadors. Emmagatzemar el resultat en una variable facilita la manipulació de dades. Podeu utilitzar el bucle aForEach per extreure i organitzar les dades.

Aquí ho teniu: la meva llista definitiva de les ordres de PowerShell més útils! Espero que us hagi estat útil aquesta Zona S.

Alternativament, podeu fer una pregunta, deixar un comentari o fer comentaris amb el formulari Deixa una resposta que es troba al final d'aquesta pàgina.

Finalment, per obtenir més zones PowerShell S, visiteu la nostra pàgina de Windows PowerShell.