Voici un petit exemple de l’automatisation de la création d’une salle de réunion avec Powershell
Les éléments de couleur et en caractères gras sont à adapter dans votre environnement
Bien entendu les options de ce script peuvent être modifiées selon vos besoins, celui-ci est un exemple,
Vous trouverez toutes les explications et options disponibles via le site technet : http://technet.microsoft.com/fr-fr/library/aa996340.aspx
$nom = Read-Host « Saisir le nom de la ressource »
$mdp = Read-Host « Saisir le mot de passe » -AsSecureString
$db = Read-Host « Saisir le nom de la base de stockage »
$objOU = « Domaine.com/Ressources »
#$objOU = GetObject(« LDAP://DC.domaine.com:389/ou=Ressources,dc=domaine,dc=com« )
# Création de la ressource
New-Mailbox -Name $nom -Alias $nom -OrganizationalUnit $objOU -UserPrincipalName « $nom@domaine.com » -SamAccountName $nom -FirstName $nom -Initials « » -LastName « » -Database « NomServeurExchange\NomStorageGroup\$db » -Room -password $mdp
# Modification des permissions
Add-MailboxPermission -Identity « CN=$nom,OU=Ressources,DC=Domaine,DC=com » -User « DOMAINE\Username » -AccessRights « FullAccess »
# Paramétrage de la ressource
Set-MailboxCalendarSettings $nom -AutomateProcessing:AutoAccept -AllowConflicts $False -BookingWindowInDays:180 -MaximumDurationInMinutes:1440 -AllowRecurringMeetings $True -EnforceSchedulingHorizon $True -ScheduleOnlyDuringWorkHours $False -ConflictPercentageAllowed:0 -MaximumConflictInstances:0 -ForwardRequestsToDelegates $True -DeleteAttachments $True -DeleteComments $True -RemovePrivateProperty $True -DeleteSubject $True -DisableReminders $True -AddOrganizerToSubject $True -DeleteNonCalendarItems $True -TentativePendingApproval $False -EnableResponseDetails $True -OrganizerInfo $True -ResourceDelegates:GroupedeDélégation -AllRequestOutOfPolicy $False -AllBookInPolicy $False -AllRequestInPolicy $True -AddAdditionalResponse $True -AdditionalResponse:'<DIV><FONT face=Tahoma size=2>Ceci est un Test </FONT></DIV>’ -RemoveOldMeetingMssages $True -AddNewRequestsTentatively $False -ProcessExternalMeetingMessages $False -DefaultReminderTime:15 -RemoveForwardedMeetingNotifications $False
# Modification des délégations
Set-MailboxCalendarSettings $nom -ResourceDelegates:GROUPEouUsername
Merci à Steven Bolzer pour cet exemple,
Steven est un de mes clients qui s’est intéressé à Powershell lors de la migration Exchange 200x vers 2007,
Ceci est un exemple de script qu’il a mis au point en quelques jours,
Powershell est vraiment extrêmement puissant et assez simple d’accès !