Power Shell Flashcards
Obtiene todos los cmdlets, funciones, alias y aplicaciones disponibles.
Get-Command
Proporciona información detallada sobre cmdlets y comandos.
Get-Help
En power Shell, obtiene información sobre los procesos en ejecución.
Get-Process
En powershell, obtiene información sobre los servicios del sistema.
Get-Service
IEn powershell, inicia un servicio especificado.
Start-Service
En powershell, Detiene un servicio en ejecución.
Stop-Service
En powershell, Reinicia el equipo local o remoto.
Restart-Computer
En powershell, Muestra registros de eventos de un equipo.
Get-EventLog
En powershell, Crea un nuevo elemento en una ubicación especificada.
New-Item
En powershell, Elimina elementos especificados como archivos o carpetas.
Remove-Item
En powershell, Copia un archivo o carpeta a una nueva ubicación.
Copy-Item
En powershell, Mueve un archivo o carpeta a una nueva ubicación.
Move-Item
En powershell, Obtiene el contenido de un archivo.
Get-Content
En powershell, Reemplaza el contenido de un archivo.
Set-Content
En powershell, Agrega contenido a un archivo.
Add-Content
En powershell, Muestra los elementos hijos de una ubicación.
Get-ChildItem
En powershell, Muestra los alias definidos en la sesión actual.
Get-Alias
En powershell, Crea un nuevo alias en la sesión actual.
New-Alias
En powershell, Elimina propiedades de un elemento especificado.
Remove-ItemProperty
En powershell, Envía una solicitud HTTP o HTTPS y devuelve contenido.
Invoke-WebRequest
En powershell, Establece el valor de una propiedad en un elemento (T)
Set-ItemProperty
En powershell, Envía una solicitud REST a un servicio web.
Invoke-RestMethod
cuando utilizamos Invoke-WebRequest y cuando Invoke-RestMethod ?
Tanto Invoke-WebRequest como Invoke-RestMethod se utilizan para hacer solicitudes HTTP en PowerShell, pero tienen diferentes usos y ventajas:
Invoke-WebRequest:
Mejor para trabajar con HTML: Este cmdlet es ideal para interactuar con páginas web y extraer datos de HTML, como formularios, enlaces e imágenes.
Acceso completo al objeto de respuesta: Proporciona acceso detallado a la respuesta HTTP, incluyendo encabezados, estado y contenido bruto.
Uso general: Puede manejar una variedad de tipos de contenido, pero requiere más trabajo para procesar JSON o XML.
$response = Invoke-WebRequest -Uri “http://example.com”
$content = $response.Content
Invoke-RestMethod:
Mejor para APIs REST: Este cmdlet es más adecuado para interactuar con APIs REST que devuelven datos en formato JSON o XML.
Conversión automática: Convierte automáticamente las respuestas JSON y XML en objetos de PowerShell, lo que facilita el manejo de los datos.
Menos detalles de la respuesta: No proporciona acceso completo a los detalles de la respuesta HTTP, como los encabezados.
$data = Invoke-RestMethod -Uri “http://api.example.com/data”
En resumen, usa Invoke-WebRequest cuando necesites trabajar con HTML o necesites detalles completos de la respuesta HTTP. Usa Invoke-RestMethod cuando trabajes con APIs REST que devuelvan JSON o XML y quieras que los datos se conviertan automáticamente en objetos de PowerShell
En power shell, Muestra la fecha y hora actuales (T)
Get-Date
En power shell, Envia la salida de un comando a un archivo.
Out-File
En power shell, Envía la salida especificada al canal de salida.
Write-Output
En power shell, Muestra texto en la consola de PowerShell.
Write-Host
En power shell, Muestra los suscriptores de eventos en la sesión actual.
Get-EventSubscriber
En power shell, Suscribe eventos de objetos .NET a la sesión actual (T)
Register-ObjectEvent
En power shell, Elimina suscripciones de eventos.
Unregister-Event
En power shell, Exporta objetos a un archivo CSV.
Export-Csv
En power shell, Importa datos de un archivo CSV a objetos.
Import-Csv
En power shell, Convierte un objeto en formato JSON.
ConvertTo-Json
En power shell, Convierte datos JSON en un objeto de PowerShell.
ConvertFrom-Json
En power shell, Comprueba si una ruta existe.
Test-Path
En power shell, Cambia el nombre de un archivo o carpeta.
Rename-Item
En power shell, Muestra las variables disponibles en la sesión (T)
Get-Variable
En power shell, Crea o modifica el valor de una variable.
Set-Variable
En power shell, Elimina el valor de una variable (T)
Clear-Variable
En power shell, Muestra las unidades de datos disponibles.
Get-PSDrive
En power shell, Elimina una unidad de datos especificada.
Remove-PSDrive
En power shell, Crea una nueva unidad de datos.
New-PSDrive
En power shell, Inicia un trabajo en segundo plano.
Start-Job
En power shell, Muestra información sobre los trabajos en segundo plano (T)
Get-Job
En power shell, Detiene un trabajo en segundo plano en ejecución.
Stop-Job
En power shell, Elimina un trabajo en segundo plano (T)
Remove-Job
En power shell, Pausa la ejecución del script durante un tiempo especificado (T)
Start-Sleep
En power shell, Cambia la política de ejecución de scripts.
Set-ExecutionPolicy
En power shell, añade un ordenador a un dominio o grupo de trabajo (T)
Add-Computer
En power shell, crea un punto de restauración (T)
Checkpoint-Computer
En power shell, borra contenido de un objeto (T)
Clear-Item
En power shell, borra el valor de una propiedad (T)
Clear-ItemProperty
En power shell, borra el valor de una variable (T)
Clear-Variable
En power shell, compara dos conjuntos de objetos
Compare-Object
En power shell, convierte objetos a CSV
ConvertTo-CSV
En power shell, convierte objetos a HTML
ConvertTo-Html
En power shell, convierte objetos a XML
ConvertTo-XML
En power shell, copia un objeto de un lugar a otro
Copy-Item
En power shell, depura un proceso (T)
Debug-Process
En power shell, desactiva la restauración del sistema en una unidad (T)
Disable-ComputerRestore
En power shell, activa la restauración del sistema en una unidad
Enable-ComputerRestore
En power shell, consulta de usuarios del AD
Get-ADUser
En power shell, muestra la lista de paquetes .appx instalados (T)
Get-AppxPackage
En power shell, muestra un listado de comandos instalados de todo tipo (cmdlet, alias, function, applitcation, filter,etc)
Get-Command
En power shell, muestra los puntos de restauración (T)
Get-ComputerRestorePoint
En power shell, muestra el contenido de un objeto
Get-Content
En power shell, muestra la fecha y hora
Get-Date
En power shell, muestra la cola de eventos (T)
Get-Event
En power shell, muestra ayuda sobre comandos
Get-Help
En power shell, muestra el histórico de comandos usados en la sesión
Get-History
En power shell, selecciona procesos ejecutándose en el sistema
Get-Process
En power shell, selecciona los servicios del sistema
Get-Service
En power shell, Establecer una Zona Horaria comando similar: tzutil /s
Set-TimeZone
En power shell, Muestra el contenido de un directorio (T)
Get-ChildItem
En power shell, Nos sirve para filtrar la salida de otro cmdlet
Where-Object
En power shell, recorre una serie de objetos y ejecuta el script que tenga entre {} (T)
ForEach-Object
En power shell, Obtener informacion de configuracion a traves de WMI
Get-CimInstance
En power shell, Muestra el directorio actual
Get-Location
En power shell, navegar por el registro, certificados etc
Get-PSDrive
Get-Help Start-Service -Full
Ayuda completa del Start-Process. Como man de Linux
Get-TimeZone -ListAvailable
lista las zonas horarias disponible
Get-ChildItem | Get-Member -MemberType Properties
FileInfo y DirectoryInfo
Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
consulta esa clave del registro
Get-ChildItem -Filter “obs” -Recurse -File
Como un find de Linux
Copy-Item -Path ‘.\Tools' -Destination $env:USERPROFILE -Recurse
Linux a: cp -R Tools ~/ )
New-Item -ItemType Directory -Name ‘MyNewFolder’
crea una nueva carpeta
Get-Content -Tail 7 .\obs.txt
Tail de Linux
Select-String -Path ‘C:\error.log’ -Pattern ‘Failed’
grep de Linux
Invoke-Command -ComputerName Servidor1 {Stop-Process Powershell}
enviar el comando para que se pare el proceso de Powershell al Servidor1
Get-Process | Where-Object { $_.WorkingSet -gt $TamañoMemoria }
Obtiene los procesos que ocupan en memoria mas de $TamañoMemoria
Get-CimInstance -ClassName Win32_Processor
informacion de la CPU
$notepad = Get-Process notepad
El comando $notepad = Get-Process notepad en PowerShell se utiliza para obtener información sobre el proceso de Notepad que se está ejecutando en tu sistema.
Aquí está lo que hace:
Get-Process notepad: Este comando obtiene el proceso de Notepad.
$notepad: Asigna el resultado del comando anterior a la variable $notepad.
Esto te permite almacenar información sobre el proceso de Notepad en la variable $notepad para que puedas usarla más adelante en tu script o sesión de PowerShell.
$notepad.Kill()
El comando $notepad.Kill() en PowerShell se utiliza para terminar el proceso de Notepad que has almacenado en la variable $notepad.
Aquí está lo que hace:
$notepad: Esta variable contiene información sobre el proceso de Notepad que obtuviste previamente con Get-Process notepad.
Kill(): Este método termina el proceso de Notepad de manera inmediata.
Es importante tener cuidado al usar este comando, ya que cerrará Notepad sin guardar ningún cambio no guardado en los archivos abiertos.
Get-CimInstance -ClassName Win32_Processor
informacion de la CPU
Test-Connec0.10.10.1 | Format-Table -AutoSize
Ping
Invoke-RestMethod https://jsonplaceholder.typicode.com/posts -Method Post - Body @{title=”test post”;user=2}
Peticion REST pasando dos parametros por POST al estilo del comando curl en Linux