La mayoría de los administradores de TI usan PowerShell para secuencias de comandos y automatización, pero no es solo para especialistas en TI, cualquiera que se ocupe de carpetas desordenadas necesita estos comandos. Los uso para rastrear el código antiguo, organizar archivos de clientes y solucionar el caos que se acumula luego de meses de trabajo basado en la época meta.
PowerShell es un habla de script y script de raya de comandos. Si correctamente las versiones anteriores de Windows proporcionaron una aplicación PowerShell dedicada, Windows Terminal es ahora la consola preferida para ejecutar entornos de shell (incluidos PowerShell, el símbolo del sistema y otros).
Todos estos comandos funcionan tanto en la aplicación PowerShell independiente como en la terminal de Windows, simplemente broa una pestaña PowerShell en Windows Terminal para usarlos.
12
Get-help
Aprendí PowerShell a través de videos de YouTube, y uno de los primeros comandos que todos mencionaron fue Get-Help. Como su nombre indica, Get-Help lo ayuda a encontrar información sobre los cmdlets de PowerShell contiguo con su sintaxis y parámetros; Incluso proporciona ejemplos de uso.
Para ver cómo funciona un comando, escriba Get-help seguido del nombre del comando:
Get-Help Get-Process
Esto le muestra la sinopsis, la sintaxis y los parámetros del comando. Si necesita más detalles, agregue el -Muestra parámetro:
Get-Help Get-Process -Examples
Esto le mostrará ejemplos de cómo puede usar el cmdlet. Además puede usarla para encontrar más información sobre cualquier comando de la documentación oficial de PowerShell de Microsoft en raya:
Get-Help Get-Process -Online
Cuando ejecute el comando inicial, PowerShell lo redirigirá a la documentación oficial de Microsoft para el comando.
11
Al Command
Mientras Get-Help le brinda información detallada sobre un cmdlet, Al Command te ayuda a encontrar y enumerar todos los comandos que existen. Por ejemplo, si sabe lo que quiere hacer, pero no puede recapacitar el nombre exacto del comando, Get-Command lo ayudará a encontrar comandos basados en nombres o patrones parciales.
Por ejemplo, intentemos encontrar todos los comandos que contienen la palabra proceso. Tipo:
Get-Command *process*
Esto muestra todos los comando con un proceso en su nombre. Puede dominar su búsqueda a tipos de comandos específicos. Por ejemplo, si solo desea cmdlets (no funciones o sobrenombre) que comienzan con Get:
Get-Command -Name Get* -CommandType Cmdlet
Cuando está buscando comandos relacionados con un módulo específico, como la red:
Get-Command -Module NetTCPIP
Get-Command es una forma mucho más efectivo de encontrar los comandos que desea usar, en espacio de exhalar su navegador y inquirir en Internet.
10
Prueba de netconexión
Si utiliza herramientas separadas para hacer ping, telnet y traceruteute, el cmdlet de netconnection de prueba hace los tres. Es una aparejo de posibilidad de problemas de red que verifica si un problema es con su red, el servidor o en otro espacio.
Para compulsar si un sitio web es accesible, ejecute:
Test-NetConnection makeuseof.com
Esto le brinda resultados de ping e información básica de conectividad. Para probar un puerto específico, agregue el número de puerto al comando:
Test-NetConnection server.company.com -Port 443
Para obtener información detallada de la ruta de red, puede usar el -Tracerute parámetro al final. Tipo:
Test-NetConnection 8.8.8.8 -TraceRoute
El comando inicial envía paquetes de prueba a 8.8.8.8 y traza cada brinco entre su computadora y el destino, lo que le ayuda a identificar dónde está el problema entre su computadora y el objetivo.
9
Get-Childitem
Get-ChildItem muestra archivos y carpetas en cualquier directorio. ¿Quieres ver qué hay en los documentos? Simplemente escriba esto, reemplazando el “nombre de usufructuario” con el tuyo:
Get-ChildItem C:UsersUsernameDocuments
Para encontrar archivos PDF modificados en la última semana:
Get-ChildItem C:UsersYourNameDocuments -Filter *.pdf | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)}
El parámetro de recurrencia escudriñamiento a través de todas las subcarpetas. Por ejemplo, para encontrar cada archivo de registro en la carpeta de su proyectos y todas sus subcarpetas:
Get-ChildItem C:Projects -Recurse -Filter *.log
Cuando se ejecuta en un espacio de bajo disco, puede usar esto para encontrar archivos grandes por encima de 1 GB:
Get-ChildItem C: -Recurse -File | Where-Object {$_.Length -gt 1GB} | Select-Object FullName, @{Name="SizeGB";Expression={$_.Length/1GB}}
Puede combinar Get-ChildItem con otros comandos para escribir y automatizar tareas para el procesamiento por lotes, la automatización y la auditoría de archivos que coincidan con criterios específicos.
8
Donde Object
En el final ejemplo, es posible que haya notado que usamos el CMDLET del objeto WHERE para encontrar archivos grandes y teníamos curiosidad por retener para qué sirve. Where-Object Filters Data seleccionando objetos con títulos de propiedades específicos, similar a una proclamación IF en la programación. Internamente de los aparatos ortopédicos rizados, $ _ representa cada ambiente que se evalúa con las condiciones de su filtro.
Por ejemplo, si necesita ver todos los servicios en ejecución, escriba este comando:
Get-Service | Where-Object {$_.Status -eq "Running"}
Si necesita encontrar procesos utilizando más de 100 MB de memoria, intente este comando:
Get-Process | Where-Object {$_.WorkingSet -gt 100MB}
Además puede combinar múltiples condiciones. Por ejemplo, para encontrar documentos de palabras grandes modificados este mes:
Get-ChildItem -Filter *.docx | Where-Object {$_.Length -gt 5MB -and $_.LastWriteTime -gt (Get-Date).AddMonths(-1)}
Los aparatos ortopédicos contienen la método de su filtro. El $ _ representa cada ambiente que se evalúa. Puede extender un filtro espléndido a través de varias líneas, especialmente si tiene múltiples condiciones. Esto hace que su banderín sea más fácil, como:
Get-ChildItem | Where-Object {
$_.Length -gt 1MB -and
$_.Extension -eq ".log"
}
7
Selección-objeto
A menudo, la salida de comandos incluye más información de la que necesita. Select-object le permite inclinarse solo los datos que desea. Luego puede exportar las propiedades seleccionadas a un archivo CSV con el cmdlet export-CSV. Para ver solo el nombre y el estado de los servicios, use:
Get-Service | Select-Object Name, Status
Si está buscando los cinco procesos utilizando la veterano cantidad de CPU, aquí va:
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, CPU
Puede crear propiedades calculadas. Por ejemplo, para mostrar los tamaños de archivo en megabytes en espacio de bytes:
Get-ChildItem | Select-Object Name, @{Name="SizeMB";Expression={$_.Length/1MB}}
Si desea extraer un valía único de propiedad, use el parámetro -EXPANDPROPERTY:
Get-Process notepad | Select-Object -ExpandProperty Id
Esto le da solo el número de identificación de proceso en espacio de un objeto. Es útil cuando se realiza comandos que esperan un valía simple, no un objeto arduo.
6
Ser miembro
PowerShell funciona con objetos, y Get-miembro le muestra sus propiedades y métodos. Por ejemplo, si un comando le da un archivo, Get-miembro puede mostrar su tamaño, época de creación y otros detalles. Escriba el sucesivo comando para ver qué información contiene un objeto de proceso:
Get-Process | Get-Member
Este comando muestra propiedades como CPU, ID y WorkingSet, más métodos como Kill () y Refresh (). Si solo desea ver propiedades, agregue esto:
Get-Process | Get-Member -MemberType Property
Al trabajar con archivos:
Get-ChildItem C:temptest.txt | Get-Member
El comando inicial muestra propiedades como Largo y LastWriteTime, así como métodos como Delete () y Moveto (). Por ejemplo, puede usar la largura para filtrar archivos por tamaño o final WriteTime para encontrar archivos cambiados recientemente.
5
Set-clipboard y get-clipboard
Cuando obtiene una salida masiva de PowerShell que desea copiar, puede seleccionarlo manualmente todo o usar Set-Clipboard. La selección manual significa desplazarse en dirección a hacia lo alto, comenzar a inclinarse, arrastrarse en dirección a debajo con cuidado y esperar que no se arruine a la parte. Establezca el clipboard y obtenga el clipboard, haga todo este proceso mucho más simple.
Para copiar los resultados del comando en su portapapeles, escriba el sucesivo comando:
Get-Process | Select-Object Name, CPU | Set-Clipboard
Ahora puede pegar los resultados en Excel o en cualquier editor de texto. Si necesita cobrar texto de su portapapeles en PowerShell, es simple:
$text = Get-Clipboard
Esto efectivamente brilla cuando se procesan listas. Intente copiar una relación de nombres de computadora de Excel, luego:
Get-Clipboard | ForEach-Object { Test-NetConnection $_ }
Esto prueba la conectividad a cada computadora en su relación. La integración entre PowerShell y otras aplicaciones hace que las tareas repetitivas sean mucho más rápidas.
4
Visión de la red
A veces necesita clasificar y filtrar los resultados de modo interactiva. Out-GridView abre una ventana separada con una tabla de búsqueda y por orientación.
Get-Process | Out-GridView
Esto abre una nueva ventana que muestra una relación de procesos de ejecución en un formato de tabla GUI. Haga clic en los encabezados de columna para clasificar, o escriba el cuadro de filtro para inquirir. Si desea inclinarse nociones de la cuadrícula, use:
Get-Service | Out-GridView -PassThru | Restart-Service
El parámetro -passthru le permite inclinarse filas y pasarlas al sucesivo comando. Seleccione los servicios que desea reiniciar, haga clic en Aceptar y PowerShell reinicia solo esos servicios.
Para el exploración de registro:
Get-EventLog -LogName Application -Newest 1000 | Out-GridView
Puede filtrar rápidamente los eventos escribiendo palabras esencia, ordenar por tiempo y encontrar patrones en los datos.
3
Obtener procesos
Get-Process le muestra todos los programas que se ejecutan en su computadora, incluido su uso de memoria, tiempo de CPU e ID de proceso.
Para ver todos los procesos en ejecución, solo escriba:
Get-Process
Si está buscando un software específico, como Google Chrome:
Get-Process chrome
Para detener un software que no replica, puede combinarlo con el comando stop-process:
Get-Process notepad | Stop-Process
Si quieres encontrar lo que está comiendo tu memoria, intente:
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10
Cuando su computadora se ralentiza, este comando muestra rápidamente qué programas están utilizando la veterano cantidad de memoria.






