Ejercicios scripts PowerShell. Usuarios y Grupos

Estos ejercicios están diseñados para ayudarte a mejorar tus habilidades en PowerShell aplicadas a la administración de usuarios y grupos.

Ejercicio 1

Descripción: Escribe un script de PowerShell que cree un nuevo usuario local con un nombre de usuario y una contraseña especificados.

Solución:

param (
    [string]$userName,
    [string]$password
)

# Crear un nuevo usuario local
New-LocalUser -Name $userName -Password (ConvertTo-SecureString $password -AsPlainText -Force) -FullName "Nuevo Usuario" -Description "Usuario creado con PowerShell"

Write-Output "Usuario $userName creado exitosamente."
    

Ejercicio 2

Descripción: Crea un script de PowerShell que agregue un usuario existente a un grupo local especificado.

Solución:

param (
    [string]$userName,
    [string]$groupName
)

# Agregar un usuario existente a un grupo local
Add-LocalGroupMember -Group $groupName -Member $userName

Write-Output "Usuario $userName agregado al grupo $groupName."
    

Ejercicio 3

Descripción: Escribe un script de PowerShell que elimine un usuario local especificado.

Solución:

param (
    [string]$userName
)

# Eliminar un usuario local
Remove-LocalUser -Name $userName

Write-Output "Usuario $userName eliminado."
    

Ejercicio 4

Descripción: Crea un script de PowerShell que liste todos los usuarios locales del sistema y sus grupos de pertenencia.

Solución:

# Obtener todos los usuarios locales
$users = Get-LocalUser

# Listar cada usuario y sus grupos de pertenencia
foreach ($user in $users) {
    $groups = Get-LocalGroupMember -Member $user.Name | Select-Object -ExpandProperty Name
    Write-Output "Usuario: $($user.Name)"
    Write-Output "Grupos: $($groups -join ', ')"
    Write-Output "---------------------------"
}
    

Ejercicio 5

Descripción: Escribe un script de PowerShell que cambie la contraseña de un usuario local especificado.

Solución:

param (
    [string]$userName,
    [string]$newPassword
)

# Cambiar la contraseña de un usuario local
Set-LocalUser -Name $userName -Password (ConvertTo-SecureString $newPassword -AsPlainText -Force)

Write-Output "Contraseña del usuario $userName cambiada exitosamente."
    

Ejercicio 6

Descripción: Crea un script de PowerShell que cree un nuevo grupo local con un nombre especificado.

Solución:

param (
    [string]$groupName
)

# Crear un nuevo grupo local
New-LocalGroup -Name $groupName -Description "Grupo creado con PowerShell"

Write-Output "Grupo $groupName creado exitosamente."
    

Ejercicio 7

Descripción: Escribe un script de PowerShell que elimine un grupo local especificado.

Solución:

param (
    [string]$groupName
)

# Eliminar un grupo local
Remove-LocalGroup -Name $groupName

Write-Output "Grupo $groupName eliminado."
    

Ejercicio 8

Descripción: Crea un script de PowerShell que muestre los usuarios miembros de un grupo local especificado.

Solución:

param (
    [string]$groupName
)

# Obtener los miembros de un grupo local
$members = Get-LocalGroupMember -Group $groupName

# Mostrar los miembros del grupo
Write-Output "Miembros del grupo $groupName:"
foreach ($member in $members) {
    Write-Output $member.Name
}