Quantcast
Channel: Blog Virtualizacion
Viewing all articles
Browse latest Browse all 679

Powershell: Script cambiar descripción grupo Directorio Activo

$
0
0

Powershell: Script cambiar descripción grupo Directorio Activo

Hoy entrada rápida, os dejo un script para poder modificar la descripción de un grupo de Directorio Activo.

Imaginaros que habéis creado masivamente grupos de directorio activo con una descripción que es siempre fija, y que sólo se modifica cierto texto. Os habéis dado cuenta, que esos grupos se van a poder usar para otras aplicaciones, y la descripción no define bien su uso, pero ya tenéis cientos…en vez de hacerlo uno a uno, lo haremos vía script de Powershell.

En el ejemplo, lo vamos a hacer con grupos de impresoras. Voy a extraer el dato actual en dos grupos, ya que necesito el nombre del grupo y la descripción. Luego cada línea va a corresponderse entre ellas.

Sería así:

GITHUB: https://gist.github.com/raulunzue/6736c2c84ff15998d7db5929d91c9696

########################################
## RAUL UNZUE - ElBlogdeNegu
# Cambio nombre Grupo Directorio Activo
########################################

# Saber el número de línea de un elemento
function linea 
     {$input | Select-String '.' | Select-Object LineNumber, Line}

# Ruta a la OU donde se generan los grupos por cada impresora
$OU_impresoras = "OU=IMPRESORAS,DC=NEGU,DC=LOCAL"

# Variable que contiene los nombre de todos los grupos de la OU anterior, que a su vez contienen los nombres de las impresoras ya creadas
get-adobject -Filter 'ObjectClass -eq "group"' -SearchBase $OU_impresoras -Properties Name | select Name > C:\Users\elblogdenegu\Desktop\gpimp_name.txt

# LIMPIAMOS FICHERO
(Get-Content C:\Users\elblogdenegu\Desktop\gpimp_name.txt) | foreach {$_ -replace "Name",""} | foreach {$_ -replace "----",""} | Set-Content C:\Users\elblogdenegu\Desktop\gpimp_name.txt

# PASAMOS A VARIABLE
$nombre_grupos_impresoras = (Get-Content C:\Users\elblogdenegu\Desktop\gpimp_name.txt)

# Variable que contiene las descripciones de todos los grupos de la OU anterior, que a su vez contienen los nombres de las impresoras ya creadas
get-adobject -Filter 'ObjectClass -eq "group"' -SearchBase $OU_impresoras -Properties Description | select Description > C:\Users\elblogdenegu\Desktop\gpimp_des.txt

# LIMPIAMOS FICHERO
(Get-Content C:\Users\elblogdenegu\Desktop\gpimp_des.txt) | foreach {$_ -replace "TEXTO Impresora ",""} | foreach {$_ -replace "Description",""} | foreach {$_ -replace "-----------",""} | Set-Content C:\Users\elblogdenegu\Desktop\gpimp_des.txt

# TRATAMOS EL DATO
$descripcion_impresoras = (Get-Content C:\Users\elblogdenegu\Desktop\gpimp_des.txt)
foreach ($g in $nombre_grupos_impresoras) {
        $lineagrupo= (Get-Content "C:\Users\elblogdenegu\Desktop\gpimp_name.txt") | sls -Pattern $g | linea
        $impresora= (Get-Content C:\Users\elblogdenegu\Desktop\gpimp_des.txt -TotalCount $lineagrupo.LineNumber)[-1]
        Get-ADGroup -SearchBase $OU_impresoras -Filter {name -eq $g} -Properties Name,Description | set-adgroup -description "Impresora $impresora"   
}

Espero os parezca interesante…

¿Te ha gustado la entrada SÍGUENOS EN TWITTER?

La entrada Powershell: Script cambiar descripción grupo Directorio Activo se publicó primero en Blog Virtualizacion.


Viewing all articles
Browse latest Browse all 679