• EnglishSpanishGermanFrenchPolishChinese (Traditional)


EnglishSpanishGermanFrenchPolishChinese (Traditional)

Operating systems, scripting, PowerShell and security

Operating systems, software development, scripting, PowerShell tips, network and security

Menú principal
  • Categorías
  • Cursos
  • Libro de PowerShell
  • Lo mejor
  • Lo último
  • Proyectos
  • Contactar
Ir al contenido

Ejercicios de PowerShell: ejercicios sobre ficheros, programas y procesos

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Almacenar en un fichero información sobre los programas instalados y las actualizaciones.
# Guardar dicha información en una carpeta con la fecha actual.
 
$instalados=((Get-WmiObject -Class Win32_Product).name)
$actualizaciones=(Get-HotFix).HotFixID
$directoriofecha=(Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")
New-Item -itemType Directory -Path D:\power\ -Name $directoriofecha
$actualizaciones,$instalados | Out-File D:\power\$directoriofecha\datosprogramas.txt
 
###############
 
# Listar procesos, crear carpeta para cada uno y dentro de la carpeta meter un fichero con el hash del proceso (necesario saber la ruta absoluta del programa).
 
New-Item -itemType Directory -Path D:\power\ -Name procesos
Get-Process | Select-Object Name, Path | %{
New-Item -itemType Directory -Path D:\power\procesos -Name $_.Name
Set-Location D:\power\procesos
$fichero=$_.Name + ".txt"
New-Item -itemType File -Path $_.Name -Name $fichero -Value (Get-FileHash $_.Path -Algorithm SHA1)
}
 
###############
 
# Si el nombre de un proceso es explorer almacenar información completa sobre dicho proceso ( | select *) y realizar un hash, almacenar el hash.
 
New-Item -itemType Directory -Path D:\power\ -Name procesos
Get-Process | Select-Object Name, Path | Where-Object Name -EQ "Explorer" | %{
New-Item -itemType Directory -Path D:\power\procesos -Name $_.Name
Set-Location D:\power\procesos
$fichero=$_.Name + ".txt"
New-Item -itemType File -Path $_.Name -Name $fichero -Value (Get-FileHash $_.Path -Algorithm SHA1)
}
 
###############
 
# Tenemos un problema, el script se ejecuta tan rápido que no podemos ver el contenido de la variable $valors2, comenta algunas solución para resolver el problema.
 
$valors1=Get-HotFix | Select-Object HotFixID
$valors2=Get-WmiObject -Class Win32_Product | Select-Object name
$valors1
Start-Sleep -Seconds 5
$valors2 | Out-File nombreproducto.txt
gc nombreproducto.txt

Publicado el día 8 de febrero de 2021

CATEGORÍAS

PowerShell

ETIQUETAS

Actualizaciones, Algorithm, Date, dd, Directory, Ejercicios de PowerShell, Explorer, Get-Date, Get-FileHash, Get-HotFix, Get-Process, Get-WmiObject, itemType, Jesús Niño, Jesús Niño Camazón, New-Item, Out-File, Path, Select-Object, Set-Location, SHA1, Start-Sleep, ToString, value, Where-Object, Win32_Product

MÁS

  • Ejercicios de PowerShell: explica un procedimiento de copias de seguridad que te parezca lo más óptimo posible
  • La "super" librería user32.dll
  • Ejercicios de PowerShell: ejercicios de actualizaciones
  • Ejercicios de PowerShell: analizar procesos
  • Ejercicios de PowerShell: ejercicios sobre sistemas de archivos (mezclado con procesos)
  • 11. Gestión del Directorio Activo (nivel intermedio)