Manual de Comandos PowerShell: Automatización y Gestión de Procesos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,47 KB

Gestión de Procesos y Archivos

  • (0.5) Lista todos los procesos que se iniciaron hoy:
    Get-Process | Where-Object {$_.StartTime -gt (Get-Date).Date} | Select-Object Name, StartTime
  • 19. (0.5) Guarda el historial dentro de C:\Temp\ en un archivo llamado historial_fecha.txt, donde fecha será la fecha de hoy con el formato “yyyy-MM-dd”:
    Get-History | Out-File "C:\Temp\historial_$(Get-Date -Format 'yyyy-MM-dd').txt"
  • 6. (0.75) En C:\Temp\Proyectos crea archivo1.txt, archivo2.txt y archivo3.txt, luego muestra sus nombres y tamaños. Para obtener la máxima puntuación se deberán crear los archivos con un bucle:
    New-Item -Path "C:\Temp" -Name "Proyectos" -ItemType Directory -Force
    1..3 | ForEach-Object { New-Item -Path "C:\Temp\Proyectos" -Name ("archivo$_.txt") -ItemType File -Force }
    Get-ChildItem "C:\Temp\Proyectos" | Select-Object Name, Length

Ayuda y Exploración de Cmdlets

  1. Ver ejemplos de uso del cmdlet Get-Service: Get-Help Get-Service -Examples
  2. Ver ayuda completa del cmdlet Get-Service: Get-Help Get-Service -Full
  3. Abrir la ayuda online del cmdlet Get-Service: Get-Help Get-Service -Online
  4. Mostrar la ayuda en ventana gráfica: Get-Help Get-Command -ShowWindow
  5. Busca los detalles del cmdlet Get-Service: Get-Command Get-Service
  6. Mostrar solo cmdlets (no alias ni funciones): Get-Command -CommandType Cmdlet
  7. Lista todos los comandos cuyo verbo es “Get”: Get-Command -Verb Get
  8. Lista los comandos en cuyo nombre aparezca “Process”: Get-Command -Noun Process
  9. Buscar ejecutables del sistema: Get-Command *.exe
  10. Muestra los cmdlet cuyo verbo sea “Get” y cuyo nombre sea “Service”: Get-Command -Verb Get -Noun Service

Gestión de Directorios y Rutas

a) Crea la estructura de la imagen usando comandos

Estando situados en el directorio: C:\DIRECTO1\DIRECTO2>

md directo1\directo2\directo3
notepad directo1\directo2\directo3\prueba.txt

b) Ruta absoluta para mostrar el contenido del fichero PRUEBA.TXT

type C:\DIRECTO1\DIRECTO2\DIRECTO3\PRUEBA.TXT

c) Ruta relativa para mostrar el contenido del mismo fichero

type DIRECTO3\PRUEBA.TXT

d) Comando para cambiar al directorio DIRECTO3

cd DIRECTO3

Automatización de Tareas Administrativas

  1. Detener todos los procesos de Notepad y verificar que se cerraron:
    Stop-Process -Name notepad -Force
    Get-Process -Name notepad -ErrorAction SilentlyContinue
  2. Reiniciar el servicio de red Dnscache:
    Restart-Service -Name "Dnscache"
  3. Listar todos los servicios automáticos detenidos:
    Get-Service | Where-Object {$_.StartType -eq "Automatic" -and $_.Status -ne "Running"}
  4. Detener todos los servicios que estén en ejecución con la palabra “Update”:
    Get-Service | Where-Object {$_.Name -like "*update*" -and $_.Status -eq "Running"} | Stop-Service -Force
  5. Ejecutar un programa (notepad.exe) y esperar a que termine:
    Start-Process -FilePath "notepad.exe" -Wait
    Write-Output "El Bloc de notas se ha cerrado."
  6. Ver procesos que se iniciaron hoy:
    Get-Process | Where-Object {$_.StartTime -gt (Get-Date).Date} | Select-Object Name, StartTime
  7. Terminar todos los procesos del programa chrome:
    Get-Process | Where-Object {$_.ProcessName -like "chrome"} | Stop-Process -Force
  8. Cambiar varios servicios (spooler y bits) a inicio manual:
    "Spooler","wuauserv","bits" | ForEach-Object { Set-Service -Name $_ -StartupType Manual }
  9. Reiniciar varios servicios a la vez (Spooler y Dnscache):
    $servicios = "Spooler", "Dnscache"
    $servicios | ForEach-Object { Restart-Service -Name $_ -Force }

Entradas relacionadas: