--- --- Module 4: Automating Active Directory Domain Services Administration
--- --- Automatizacion desde CMD
Bulk: en bloque
USNCreated como el dominio identifica cuando se creo el objeto USNChanged como el dominio identifica cuando se modifico el objeto
Comandos cmd:
CSVDE: Comma separated values data exchange
El formato de archivos es csv. Es una archivo que almacena una tabla de valores en la quie se separan por comas en lugar de por tabuladores.
Siempre tiene una primera fila en la que se indican los titulos o nombres de las columnas. Las siguientes filas son los registros que vamos a exportar o importar.
CSVDE no permite modificar objetos solo crear o eliminar
Csvde –f adobjets.csv
Exporta todos los objetos del dominio
csvde -d "ou=practicas,dc=adatum,dc=com" -f PrObjects.csv saca todos los objetos de la UO que le digamos
solo saca los usuarios
csvde -d "ou=practicas,dc=adatum,dc=com" -r objectcategory=person -f Prusers.csv
OJO ESTE NO SE USA PARA SACAR USUARIOS
csvde -d "ou=practicas,dc=adatum,dc=com" -r objectclass=user -f PrObjects.csv
saca los usuarios y equipos (un fallo conocido es que tambien saca a la maquina como usuario)
csvde -d "ou=sales,dc=adatum,dc=com" -p base -f Salesobjects.csv exporta la capa base (OU) que indicas en –d
csvde -d "ou=sales,dc=adatum,dc=com" -p onelevel -f Salesobjects.csv exporta el primer nivel completo
csvde -d "ou=sales,dc=adatum,dc=com" -p onelevel -f Salesobjects.csv
exporta el arbol completo, por defecto lo hace automaticamente y no hay que especificar –p subtree
detro de sales sacar solo los usuarios y solo las columnas DN,UPN
csvde -d "ou=sales,dc=adatum,dc=com" -r objectcategory=person -l DN,userprin cipalname -f Salesobjects.csv
Importar usuarios de un CSV csvde -i -f NewUsers.csv –k
CSVDE no permite importar usuarios con contraseñas y por defecto crea las cuentas deshabilitadas
LDIFDE: Practicamente igual que CSVDE pero Si permite modicar objetos en bloque
Separa objetos con una linea en blanco tampoco permite crear usuarios con contraseña por que son ficheros en texto plano y las cuentas creadas estaran deshabilitadas.
Sacar solo usuarios
ldifde -d "ou=mod4,DC=adatum,dc=com" -f mod4objects.ldf -r objectcategory=person
ldifde -i -f mod4objects.ldf -k
Eliminar usuario
Cambiamos changetype: add a changetype: delete Solo hace falta DN para eliminar
ldifde -i -f deletemod4objets.ldf
Ejercicio: usar LDIFDE para añadir a los 6 usuarios de OU Mod4 como miembros del grupo auditors (chagetype: modify)
Hay que modificar el objeto del grupo que es donde se almacenan los usuarios que pertenecen a el (en el objeto de usuarios no esta el atributo que indica a que grupos pertenece)
--- REVISION EXAMEN PARCIAL 1
Domain Admins y Enterprise Admins pertenecen al grupo de administradores locales de todas las maquinas del bosque. Estos grupos tienen mas privilegios de los pedidos.
Para administrar solo una maquina mejor administrador local Bosque:
Dominio Raiz (adatum.com):enterprise admins (GG)
Auditor1 -> enterprise admins. El grupo que puede hacer que un usuario sea enterprise admins es administrator (DL) en adatum.com
En cuanto unes una maquina al dominio los domain admins del dominio pasan a ser administradores locales de la maquina nueva.
Otros dominios: Curso.adatum.com, contoso.com A la hora de asignar grupos.
Siempre minimos privilegios Minimo esfuerzo administrativo Execution policy (Default):
Windows Server: Remote signed Windows clinet: restricted
---
Modificar objetos desde CMD
Dsmod user "cn=user3,OU=sales,dc=adatum,dc=com" –dept ventas
Comandos comunes para manejar objetos desde powershell USUARIOS
Crear usuario con contraseña cifrada y cuenta deshabilitada
New-ADUser "user3" -AccountPassword (Read-Host -AsSecureString "introduzca la contraseña")
Crear usuario con contraseña cifrada y cuenta habilitada
Borrar usuario
Remove-ADUser "user3"
Crear usuario en un destino diferente al default
New-ADUser "user3" -AccountPassword (Read-Host -AsSecureString "introduzca la contraseña") –Enabled $true –Path "ou=sales,dc=adatum,dc=com"
GRUPOS
Add-adgroupmember: dado un grupo añadimos miembros (usuarios o otros grupos) a ese grupo
Add-Adprincipalgroupmemship: dado un usuario equipo o grupo, lo hacemos miembro de uno o varios grupos. *pricipal: es usuario, grupo o equipo (un objeto con SID)
UNIDADES ORGANIZATIVAS
Crear unidad organizativa (por defecto con seguridad antiborrado accidental activado) New-ADOrganizationalUnit -name barcelona -Path "ou=Practicas,dc=adatum,dc=com"
Desproteger UO del borrado accidental
Set-ADOrganizationalUnit "ou=barcelona,ou=Practicas,dc=adatum,dc=com" -ProtectedFromAccidentalDeletion $false
Borrar UO
Remove-ADOrganizationalUnit "ou=barcelona,ou=Practicas,dc=adatum,dc=com"
Complejidad de contraseñas Definida en el dominio en una GPO:
Al menos 8 caracteres. Mayusculas y minusculas
Algun carácter no alganumerico ($, #, @)
Operaciones en bloque modo grafico
Mostrar todos los usuario dentro de Sales
Operaciones en bloque en powershell
Mostrar todas las propiedades de un usuario Get-ADUser "Administrator" -Properties *
Mostrar todos los usuarios de una UO Get-ADUser -Filter {Department -eq "sales"}
Muestra todas la propiedades de todos los ususarios de Sales Get-ADUser -Filter {Department -eq "sales"} -Properties *
Muestra las propiedades que elijamos en el filtro
Get-ADUser -Filter {Department -eq "sales"} -Properties lastlogondate,name
Muestra todos los usuarios desactivados Get-ADUser -Filter {Enabled -eq $false}
Eliminar sin confirmar usuario que no hayan iniciado sesion antes del 13 de abril Get-ADUser -Filter {lastlogon -lt "april 13, 2014"} | Remove-ADUser -Confirm $false
Foreach para crear loops Importar CSV a una variable
$users=Import-Csv -LiteralPath "C:\Users\Administrator\Desktop\LabUsers.csv" Mostrar contenido de la variable echo o write-host
De la variable $users sacar la variable $usuario y mostran en pantalla los nombres de usuario y las contraseñas foreach ($usuario in $users) {Write-Host "el nombre del usuario es:" $usuario.givenname $usuario.password}
PS C:\> foreach ($usuario in $users) {Write-Host "el nombre del usuario es:" $usuario.givenname Write-Host "y la contraseña es" $usuario.password}
Ejercicio: nos han pasado un archivo lab users.csv con 387 usuarios que tenemos que crear en el directorio activo. Usar powershell para crear estos usuarios en la UO Lab4
Usar powershell para modificar la propiedad Department de estos 387 usuarios para que sea logistica Modificamos la password del usuario por una que cumpla los requisitos P4$$w0rd
Creamos un scrip con ISE
$users=Import-Csv -LiteralPath "C:\LabUsers.csv" foreach ($user in $users)
{
$pass=ConvertTo-SecureString -String $user.password -AsPlainText -Force
New-ADUser -Name $user.DisplayName -GivenName $user.GivenName -SamAccountName
$user.Samaccountname -AccountPassword $pass -Enabled $true -Path "OU=lab4,dc=adatum,dc=com" }
bulkusercreationfro mcsv.ps1
Ahora cambiar el departamento de los usuarios que no tengan departamento
Get-ADUser -Filter {department -notlike "*"} -SearchBase "ou=lab4,dc=adatum,dc=com" | Set-ADUser -Department "logistica"
En windows 2012 Server puede fallar cuando trabajamos en bloque dando error de reach es decir se llena el limite de objetos del DA tambien puede salir que no encuentra el servidor web