El script de Powershell que voy a mostrar permite el poder
crear de forma masiva objetos Computer en el directorio activo y poderle
indicar varios parámetros como la descripción o la OU donde queremos crear el
objeto.
El fichero CSV en el cual deberemos indicar los datos de los
objetos a crear debe tener el formato siguiente:
Nombre;NombrePre;Descripcion;Grupo;Path
Ordenador1; Ordenador1;Descripcción Ordenador1;Equipos almacen;OU=Almacen
Ordenador1; Ordenador1;Descripcción Ordenador1;Equipos almacen;OU=Almacen
Teniendo en cuenta de que la primera línea es la cabecera que no deberemos modificar que tendrá el
formato:
Nombre: El nombre a crear del objeto que
será el nombre del ordenador
NombrePre:El nombre a crear del objeto para las
versiones anteriores a Windows 2000, normalmente es el mismo de Nombre
Descripccion:Es la descripción que queremos darle al
objeto
Grupo:Grupo al queremos añadir este
objeto
Path:OU final donde queremos que
se cree el objeto. En mi ejemplo todos se crean en la misma OU cuya raíz es OU=Ordenadores,OU=Valencia,DC=lab,DC=local
con lo que aquí únicamente indicaremos la OU final. Cada uno que lo modifique
como crea necesario.
El script es el siguiente, he añadido comentarios para saber lo que se está haciendo.
# -- Importar el modulo de directorio activo
Import-Module
ActiveDirectory
# -- Leer los datos del fichero CSV
$Computers = Import-CSV
Computers.csv -delimiter ";"
# -- Parte común del path donde ubicar el objeto
$CommonPath = ",OU=Ordenadores,OU=Valencia,DC=Lab,DC=local"
# -- Comienza a leer los objetos
foreach($Computer in
$Computers)
{
# -- Prepara todas las
variables
$Name = $Computer.Nombre
$SamAccountName =
$Computer.NombrePRE
$Description =
$Computer.Descripcion
$Path = $Computer.Path +
$CommonPath
$Group = $Computer.Grupo
$CN =
"CN="+$Name+","+$Path
$CN = "`"$CN`""
# -- Comprueba si el objeto ya existe
$Message="Ya existe="+$CN
$Exist = dsquery computer
-name $Name
if ($Exist -eq $CN) {echo
$Message}
else
{
{
# -- No existe, crea el objeto
Write-Host "-- Creando objeto " $Name
New-ADComputer -Name $Name
-SamAccountName $SamAccountName -Description $Description -Path $Path
# -- Añade el objeto al grupo solicitado
Write-Host "Añade el objeto " $Name " al grupo
" $Group
$Comp=Get-ADComputer $Name
Add-ADGroupMember -identity
$Group -Member $Comp
}
}
Espero haber ayudado con esto.
No hay comentarios:
Publicar un comentario