PowerShell.
Parte 4
Módulo Active Directory
AD
- El módulo Active Directory permite administrar por línea de comandos
PowerShell los roles “Active Directory Domain Services (AD DS)” y “Active
Directory Lightweight Domain Services (AD LDS)”.
-Lo primero asegurarse que el módulo está instalado. En WS2012:
-Si no está instalado ejecutar el comando:
-Add-WindowsFeature RSAT-AD-PowerShell
PowerShell by JGD
AD
1. Si queremos listar los CmdLets disponibles podemos hacerlo con:
Get-Command *-AD*
2. Lista de comandos de administración de usuarios:
Get-Command -Module ActiveDirectory -Name *user*
3. Obtener la lista de los usuarios
Get-ADUser -Filter * | Format-Table Name, DistinguishedName,
UserPrincipalName
4. Obtener todas las propiedades de un objeto Usuario:
Get-ADUser -Identity usuario1 -Properties *
PowerShell by JGD
AD
-Para crear una unidad organizativa, utilizaremos el cmdlet New-
ADOrganizationalUnit:
-New-ADOrganizationalUnit -Name "UO-CAU"
-Una vez creada la unidad organizativa, podemos obtener todos sus detalles.
De este modo comprobaremos, por ejemplo, los valores que se le han
asignado de forma predeterminada.
-Get-ADOrganizationalUnit -Filter 'Name -like "*CAU*"'
-Sin embargo, si el objetivo es mostrar todas las unidades organizativas,
también podemos recurrir al cmdlet Get-ADObject, que está destinado a
mostrar objetos del directorio activo. En este caso, deberemos indicar que la
clase de objeto a mostrar (ObjectClass) es el que coincida con una unidad
organizativa (organizationalunit).
-Get-ADObject -Filter { ObjectClass -eq 'organizationalunit' }
PowerShell by JGD
Crear un usuario desde consola
-Otra forma:
-Get-ADObject "OU= UO-CAU,DC=granja,DC=iesjc“
-Para crear el usuario1 perteneciente a la nueva UO creada:
-New-ADUser -DisplayName “tecnico1" -Name "tecnico1" -UserPrincipalName
"tecnico1" -Enabled:$true -Path "OU= UO-CAU,DC=granja,DC=iesjc" -
AccountPassword (ConvertTo-SecureString -string "P@ssw0rd" -AsPlainText -
Force) -ChangePasswordAtLogon:$True
-Obtener la lista de los usuarios
Get-ADUser -Filter * | Format-Table Name, DistinguishedName,
UserPrincipalName
PowerShell by JGD
AD
PowerShell by JGD
Crear un usuario desde fichero csv
- Creamos el fichero altausuarios.csv con el siguiente contenido:
DisplayName,Name,userPrincipalName,Path,Company,AccountPassword
tecnico2,tecnico2,tecnico2,"OU= UO-
CAU,DC=granja,DC=iesjc",ASIR,P@ssw0rd
-Listamos el contenido del fichero
-Realizamos el Import –CSV para validar que el fichero está bien construido
PowerShell by JGD
Crear un usuario desde fichero csv
PowerShell by JGD
Crear un usuario desde fichero csv
Generamos el script de carga de usuarios
# @author: JGD
# @since : feb-2019
# @param : #campos del fichero DisplayName,Name,userPrincipalName,Path,Company,AccountPassword
Import-Module ActiveDirectory
$Users = Import-CSV .\altausuarios.csv
foreach($User in $Users)
{
$DisplayName = $User.DisplayName
$Name = $User.Name
echo "**Creando usuario: "+ $Name
$UserPrincipalName = $User.UserPrincipalName
$AccountPassword = $User.AccountPassword
$Path = $User.Path
New-ADUser -DisplayName $DisplayName -Name $Name -UserPrincipalName $UserPrincipalName -
AccountPassword (ConvertTo-SecureString $AccountPassword -AsPlainText -Force) -Path $Path -Enable $true
-CannotChangePassword $false -PasswordNeverExpires $true
echo "**Usuario creado"
PowerShell by JGD
Crear un usuario desde fichero csv
- Validamos que los usuarios se han creado correctamente por consola:
-Get-ADUser -Filter * | Format-Table Name, DistinguishedName,
UserPrincipalName
- O desde Usuarios y Equipos de Active Directory
PowerShell by JGD