PowerShell: Creación de contactos en Exchange Online desde un CSV
Hola,
Si ayer os publicaba qué script usé para dar de alta a usuarios en Office 365, hoy os pongo otro script para la generación de Contactos.
Usamos, como en el caso anterior, un formato concreto de los datos a cargar desde el CSV, y es
Name | Nombre del usuario (campo invisible, por cierto) |
DisplayName | Nombre para mostrar en Exchange Online |
ExternalEmailAddress | Dirección de correo del contacto |
FirstName | Nombre |
LastName | Apellido |
Alias | Alias del usuario, campo obligatorio. |
El código no puede ser más sencillo, y es éste:
# Solicitud de credenciales para conectar a Office 365
$cred = Get-Credential
#Creación de sesión para conectar a Exchange Online
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
#Importación de la sesión Exchange Online
Import-PSSession $Session
#Petición de parth del fichero donde están los contactos
[void] [System.Reflection.Assembly]::LoadWithPartialName(«System.Windows.Forms»)
$ofd = New-Object System.Windows.Forms.OpenFileDialog
$ofd.ShowHelp=$true
if($ofd.ShowDialog() -eq «OK») { $ofd.FileName }
$Fichero = $ofd.Filename
#Alta de contactos en Office 365 de modo recursivo a través del fichero CSV
Write-Host «Inicio de la carga de contactos en Office 365»
Import-Csv -Path $Fichero | ForEach-Object {
New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName -Alias $_.Alias
}
#Fin de la carga de contactos
Write-Host «Fin de la carga de contactos en Office 365»
#Cerramos la sessión con Exchange Online
Remove-PSSession $Session
Saludos,
Marc