Agrupación de procesos en función del uso de memoria virtual
Por ejemplo, supongamos que desea saber qué aplicaciones utilizan más Virtual Memory (VM) y agrupar los procesos por la empresa que las creó. Estos son los pasos:
- Utilice Get-Process para ejecutar todos los procesos.
- Ordene los procesos por uso de máquina virtual.
- Tome un número específico de procesos, como los 10 principales.
- Agrupe los procesos por Company propiedades.
El código completo:
Get-Process |
Sort-Object VM -Descending |
Select-Object -First 10 |
Group-Object Company
- Sort-Object VM -Descending: Ordena los procesos en función del uso Virtual Memory desde el más alto.
- Select-Object -First 10: Seleccione los 10 procesos principales con el mayor uso de VM.
- Group-Object Company: Agrupa los procesos por el nombre de la empresa que los creó.
La salida mostrará la Company más alta mana yang memiliki proses dengan penggunaan Virtual Memory.
Cómo combinar cmdlets para soluciones más complicadas
Las canalizaciones facilitan la combinación de cmdlets y la creación de soluciones más complejas sin necesidad de escribir código difícil. Por ejemplo, si desea encontrar un proceso que use una CPU alta y detenerlo, puede usar la siguiente canalización:
Get-Process |
Where-Object {$_.CPU -gt 50} |
Stop-Process
- Where-Object {$_.CPU -gt 50}: Filtra los procesos que tienen más del 50% de uso de CPU.
- Stop-Process: Detiene el proceso filtrado.
Esta canalización le permite automatizar tareas con pasos claros y organizados. También puede agregar parámetros para que la solución sea más específica, como enviar un informe de los resultados:
Get-Process |
Where-Object {$_.CPU -gt 50} |
Export-Csv -Path “HighCPUProcesses.csv”
Esta canalización almacenará los datos del proceso intensivo de CPU en un archivo CSV.
Automatización con PowerShell
Un cmdlet muy útil en PowerShell es Get-WindowsOptionalFeature. Este cmdlet permite a los usuarios ver las características opcionales disponibles en Windows, incluido su estado (ya sea habilitado o deshabilitado). Con estos cmdlets, los administradores pueden administrar y auditar fácilmente las características existentes.
Para mostrar todas las funciones opcionales en Windows, puede ejecutar el siguiente comando:
Get-WindowsOptionalFeature -Online
Este comando generará una lista de objetos que representan cada característica opcional, completa con propiedades como FeatureName, State y una descripción de la característica.
Pasos para crear un script simple para la automatización
Estos son los pasos para crear un script simple que use Get-WindowsOptionalFeature para auditar y habilitar automáticamente ciertas características:
- Ejecute PowerShell con privilegios de administrador para asegurarse de que tiene los permisos necesarios.
- Use el cmdlet Get-WindowsOptionalFeature para obtener una lista de todas las características opcionales.
$features = Get-WindowsOptionalFeature -En línea
- Por ejemplo, si desea comprobar si la función “TelnetClient” está habilitada o no, puede filtrar los resultados.
$telnetFeature = $features | Objeto-donde: { $_. FeatureName -eq 'TelnetClient' }
- Si la característica no está activa, puede habilitarla mediante el cmdlet Enable-WindowsOptionalFeature.
if ($telnetFeature.State -eq 'Disabled') {
Enable-WindowsOptionalFeature -Online -FeatureName 'TelnetClient' -All
Write-Host “TelnetClient feature has been enabled.”
} else {
Write-Host “TelnetClient feature is now active.”
}
- Guarde este script como un archivo .ps1, por ejemplo, EnableTelnet.ps1, y ejecútelo en PowerShell.