Crear una Dynamic Distribution List vía PowerShell desde un archivo CSV
Hola,
Hoy toca un poco de PowerShell y Exchange 2010. Recientemente un cliente nos ha pedido que creemos un script, bastante simple, donde partiendo de un fichero CSV se generen Listas de Distribución Dinámicas en función de los campos Departamento y Ciudad de los atributos de los usuarios en el Directorio Activo.
Bien, el código que me ha salido para el script es el siguiente
<#
** THIS SCRIPT IS PROVIDED WITHOUT WARRANTY, USE AT YOUR OWN RISK **
SYNOPSIS
Create new Dynamic Distribution List in Exchange 2010 from CVS file
DESCRIPTION
Use the New-DynamicDistributionGroup cmdlet to Dynamic Distribution List in Exchange 2010
The CSV file must include a header row, such as in the following example:
DisplayName,DDL_Path,Province,Department,Alias
AUTHORS
Jordi Colominas
Marc Salvador | http://blogs.itpro.es/marc
#>
$csvPath = «C:\temp\DDL.csv»
$logPath = «c:\temp\log.txt»
$elements = Import-csv -path $csvPath
foreach ($elem in $elements)
{
New-DynamicDistributionGroup
-Name $elem.DisplayName
-OrganizationalUnit $elem.DDL_Path
-IncludedRecipients MailboxUsers
-ConditionalStateOrProvince $elem.Province
-ConditionalDepartment $elem.Department
-Alias $elem.Alias | Out-File $logPath -append
}
Write-Host -foregroundcolor Cyan «DDL creadas correctamente, $logPath«
Exit
El formato del fichero CSV tiene que ser el siguiente
DisplayName,DDL_Path,Province,Department,Alias
DDLExample,corp.Contoso.com/Users,Barcelona,IT,AliasDDL_Example
Es decir, no tiene mucho secreto pero siempre es útil este tipo de cosas
Saludos,
Marc