16
------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------ 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 Exportar a csv con csvde

----------------------------------------------------------€¦ · exporta el primer nivel completo csvde -d "ou=sales,dc=adatum,dc=com" -p onelevel -f Salesobjects.csv exporta el

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------

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

Exportar a csv con csvde

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

-k para que continue aunque tenga fallos

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.

changetype: add, delete, modify (diferencia con CSVDE)

ldifde -d "ou=mod4,DC=adatum,dc=com" -f mod4objects.ldf

Sacar solo usuarios

ldifde -d "ou=mod4,DC=adatum,dc=com" -f mod4objects.ldf -r objectcategory=person

Importar usuarios, hay que modificar el ldif para no modificar objetos protegidos

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

New-ADUser "user3" -AccountPassword (Read-Host -AsSecureString "introduzca la contraseña") -Enabled $true

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)

CUENTAS DE EQUIPO

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 ($, #, @)

Si no se cumplen los requisitos no se puede crear el usuario o cambiar la contraseña

Operaciones en bloque modo grafico

Desde el centro administrativo se pueden hacer algunas operaciones en bloque

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" }

bulkusercreationfromcsv.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

Shoulder-surfing mirar por encima del hombro