En una configuración de Active Directory en Windows 2003, crea los siguientes perfiles móviles -…
Ejercicios scripts PowerShell. Usuarios y Grupos
Gestión de usuarios y grupos
script1.ps1 Pide nombre de usuario y crea dicho usuario sin contraseña
$nombre=Read-Host "Dime un nombre para el nuevo usuario" New-LocalUser $nombre -NoPassword
script2.ps1 Pide nombre de usuario y crea dicho usuario con contraseña
$nombre=Read-Host "Dime un nombre para el nuevo usuario" $contra=Read-Host "Dime una contraseña para el nuevo usuario" -AsSecureString New-LocalUser $nombre -Password $contra
script3.ps1 Pide nombre de usuario existente y una descripción nueva y cambia dicha descripción
$nombre=Read-Host "Dime un nombre de usuario existente" $descripcion=Read-Host "Dime una nueva descripción" set-LocalUser $nombre -Description "$descripcion"
script4.ps1 Pide un nombre de usuario existente y desactiva dicha cuenta
$nombre=Read-Host "Dime un nombre de usuario existente para desactivarlo" Disable-LocalUser $nombre
script5.ps1 Menú de usuarios
1. Listar usuarios
2. Crear usuarios (pide usuario y contraseña)
3. Elimina usuarios (pide usuario)
4. Modifica usuarios (pide usuario y nuevo nombre)
5. Salir
Seleccione opción
Una opción es hacerlo con el "do-while" do { clear-host Write-Host "1.Listar usuarios" Write-Host "2.Crear usuarios(pide usuario y contraseña)" Write-Host "3.Elimina usuarios(pide usuario)" Write-Host "4.Modifica usuarios(pide usuario y nuevo nombre)" Write-Host "5.Salir" $x=Read-Host "Seleccione opción" if ($x -eq 1) { cls Get-LocalUser|ft } if ($x -eq 2) { cls $nombrecr=Read-Host "Dime un nombre para el nuevo usuario" $contra=Read-Host "Dime una contraseña para el nuevo usuario" -AsSecureString New-LocalUser $nombrecr -Password $contra } if ($x -eq 3) { cls $nombrerm=Read-Host "Dime un nombre de usuario para eliminar" Remove-LocalUser $nombrerm -Confirm } if ($x -eq 4) { cls $nombreviejo=Read-Host "Dime un nombre de usuario existente" $newname=Read-Host "Dime un nuevo nombre" Rename-LocalUser $nombreviejo -NewName "$newname" } if ($x -ne 5){ read-host "Pulse para continuar" } } while($x -ne 5)
Y otra opción es hacerlo con el while, definiendo antes un valor para la variable
$x=0 while ($x -ne 5) { Clear-host Write-Host "1.Listar usuarios" Write-Host "2.Crear usuarios(pide usuario y contraseña)" Write-Host "3.Elimina usuarios(pide usuario)" Write-Host "4.Modifica usuarios(pide usuario y nuevo nombre)" Write-Host "5.Salir" $x=Read-Host "Seleccione opción" if ($x -eq 1) { cls Get-LocalUser|ft } if ($x -eq 2) { cls $nombrecr=Read-Host "Dime un nombre para el nuevo usuario" $contra=Read-Host "Dime una contraseña para el nuevo usuario" -AsSecureString New-LocalUser $nombrecr -Password $contra } if ($x -eq 3) { cls $nombrerm=Read-Host "Dime un nombre de usuario para eliminar" Remove-LocalUser $nombrerm -Confirm } if ($x -eq 4) { cls $nombreviejo=Read-Host "Dime un nombre de usuario existente" $newname=Read-Host "Dime un nuevo nombre" Rename-LocalUser $nombreviejo -NewName "$newname" } if ($x -ne 5){ read-host "Pulse para continuar" } }
script6.ps1 Menú de grupos
1. Listar grupos
2. Ver miembros de un grupo
3. Crear grupo (pide nombre grupo)
4. Elimina grupo (pide nombre grupo)
5. Crea miembro de un grupo (pide grupo y usuario)
6. Elimina miembro de un grupo (pide grupo y usuario)
7. Salir
Seleccione opción
Con el while $x=0 while ($x -ne 7) { Clear-host Write-Host "1. Listar grupos" Write-Host "2. Ver miembros de un grupo" Write-Host "3. Crear grupo (pide nombre grupo)" Write-Host "4. Elimina grupo (pide nombre grupo)" Write-Host "5. Crea miembro de un grupo (pide grupo y usuario)" Write-Host "6. Elimina miembro de un grupo (pide grupo y usuario)" Write-Host "7. Salir" $x=Read-Host "Seleccione opción" if ($x -eq 1) { cls Get-LocalGroup|ft } if ($x -eq 2) { cls $nomgr2=Read-Host "Dime el grupo del que deseas ver los miembros" Get-LocalGroupMember $nomgr2 |fl } if ($x -eq 3) { cls $nomgr3=Read-Host "Dime el nombre del nuevo grupo" New-LocalGroup $nomgr3 } if ($x -eq 4) { cls $nomgr4=Read-Host "Dime el grupo que deseas eliminar" Remove-LocalGroup –Confirm $nomgr4 } if ($x -eq 5) { cls $nomusu=Read-Host "Dime el nombre del usuario que quieres meter" $nomgr5=Read-Host "Dime el nombre del grupo" Add-LocalGroupMember $nomgr5 -Member $nomusu } if ($x -eq 6) { cls $nomusu2=Read-Host "Dime el nombre del usuario que quieres eliminar" $nomgr6=Read-Host "Dime el nombre del grupo" Remove-LocalGroupMember $nomgr6 -Member $nomusu2 } if ($x -ne 7){ read-host "Pulse para continuar" } }
E igualmente con el do-while
do { Clear-host Write-Host "1. Listar grupos" Write-Host "2. Ver miembros de un grupo" Write-Host "3. Crear grupo (pide nombre grupo)" Write-Host "4. Elimina grupo (pide nombre grupo)" Write-Host "5. Crea miembro de un grupo (pide grupo y usuario)" Write-Host "6. Elimina miembro de un grupo (pide grupo y usuario)" Write-Host "7. Salir" $x=Read-Host "Seleccione opción" if ($x -eq 1) { cls Get-LocalGroup|ft } if ($x -eq 2) { cls $nomgr2=Read-Host "Dime el grupo del que deseas ver los miembros" Get-LocalGroupMember $nomgr2 |fl } if ($x -eq 3) { cls $nomgr3=Read-Host "Dime el nombre del nuevo grupo" New-LocalGroup $nomgr3 } if ($x -eq 4) { cls $nomgr4=Read-Host "Dime el grupo que deseas eliminar" Remove-LocalGroup –Confirm $nomgr4 } if ($x -eq 5) { cls $nomusu=Read-Host "Dime el nombre del usuario que quieres meter" $nomgr5=Read-Host "Dime el nombre del grupo" Add-LocalGroupMember $nomgr5 -Member $nomusu } if ($x -eq 6) { cls $nomusu2=Read-Host "Dime el nombre del usuario que quieres eliminar" $nomgr6=Read-Host "Dime el nombre del grupo" Remove-LocalGroupMember $nomgr6 -Member $nomusu2 } if ($x -ne 7){ read-host "Pulse para continuar" } } while ($x -ne 7)