« PowerShell/Exchange » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « {{Sommaire}} '''Exchange''' et l'automatisation. == Création d'une signature pour tous les comptes == Création d'une signature au format HTML pour tous les comptes récupérés de l'AD. <source> #set folder location for files, the folder must allready exist $save_location = 'file_location' $email_domain = '@bigcheese.com' #connect to O365 tenant $Cred = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.ou... ») |
|||
| Ligne 5 : | Ligne 5 : | ||
== Création d'une signature pour tous les comptes == | == Création d'une signature pour tous les comptes == | ||
Création d'une signature au format HTML pour tous les comptes récupérés de l'AD. | Création d'une signature au format HTML pour tous les comptes récupérés de l'AD. | ||
* source : https://4sysops.com/archives/add-a-signature-to-office-365-emails-with-powershell/ | |||
<source> | |||
#import the active directory module which is needed for Get-ADUser | |||
import-module activedirectory | |||
#set folder location for files, the folder must already exist | |||
$save_location = 'c:\file_location\' | |||
#$users = Get-ADUser -filter * -searchbase "OU=Testing,OU=Staff,OU=Test Users,DC=bigcheese,DC=com" -Properties * -Credential bigcheese\admin -Server bigcheese.com | |||
$users = Get-ADUser -filter * -searchbase "OU=Testing,OU=Staff,OU=Test Users,DC=bigcheese,DC=com" -Properties * | |||
foreach ($user in $users) { | |||
$full_name = “$($user.GivenName) $($User.Surname)” | |||
$account_name = "$($User.sAMAccountName)" | |||
$job_title = "$($User.title)" | |||
$location = "$($User.office)" | |||
$dept = "$($User.department)" | |||
$comp = "$($User.company)" | |||
$email = "$($User.emailaddress)" | |||
$phone = "$($User.telephoneNumber)" | |||
$logo = "$($User.wWWHomePage)" | |||
#We need to construct and write the html signature file | |||
$output_file = $save_location + $account_name + ".htm" | |||
Write-Host "Now attempting to create signature html file for " $full_name | |||
"<span style=`"font-family: calibri,sans-serif;`"><strong>" + $full_name + "</strong><br />", $job_title + " - " + $location + "<br />", $dept + "<br />", $comp + "<br />", $phone + "<br />", "</span><br />", "<img alt=`"corporate logo`" border=`"0`" height=`"90`" src=`"" + $logo + "`" width=`"385`" />" | Out-File $output_file | |||
} | |||
<source> | |||
<source> | <source> | ||
Version du 14 décembre 2023 à 17:14
Exchange et l'automatisation.
Création d'une signature pour tous les comptes
Création d'une signature au format HTML pour tous les comptes récupérés de l'AD.
#import the active directory module which is needed for Get-ADUser
import-module activedirectory
#set folder location for files, the folder must already exist
$save_location = 'c:\file_location\'
#$users = Get-ADUser -filter * -searchbase "OU=Testing,OU=Staff,OU=Test Users,DC=bigcheese,DC=com" -Properties * -Credential bigcheese\admin -Server bigcheese.com
$users = Get-ADUser -filter * -searchbase "OU=Testing,OU=Staff,OU=Test Users,DC=bigcheese,DC=com" -Properties *
foreach ($user in $users) {
$full_name = “$($user.GivenName) $($User.Surname)”
$account_name = "$($User.sAMAccountName)"
$job_title = "$($User.title)"
$location = "$($User.office)"
$dept = "$($User.department)"
$comp = "$($User.company)"
$email = "$($User.emailaddress)"
$phone = "$($User.telephoneNumber)"
$logo = "$($User.wWWHomePage)"
#We need to construct and write the html signature file
$output_file = $save_location + $account_name + ".htm"
Write-Host "Now attempting to create signature html file for " $full_name
"<span style=`"font-family: calibri,sans-serif;`"><strong>" + $full_name + "</strong><br />", $job_title + " - " + $location + "<br />", $dept + "<br />", $comp + "<br />", $phone + "<br />", "</span><br />", "<img alt=`"corporate logo`" border=`"0`" height=`"90`" src=`"" + $logo + "`" width=`"385`" />" | Out-File $output_file
}
<source>
<source>
#set folder location for files, the folder must allready exist
$save_location = 'file_location'
$email_domain = '@bigcheese.com'
#connect to O365 tenant
$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic –AllowRedirection
Import-PSSession $Session
#Get a list of all the filenames in the target folder
$sig_files = Get-ChildItem -Path $save_location
#Now push the html to the users signature
foreach ($item in $sig_files) {
$user_name = $($item.Basename) + $email_domain
$filename = $save_location + $($item.Basename) + ".htm"
Write-Host "Now attempting to set signature for " $user_name
set-mailboxmessageconfiguration -identity $user_name -signaturehtml (get-content $filename) -autoaddsignature $true
}
#disconnect O365 connection
get-PSSession | remove-PSSession
set-mailboxmessageconfiguration -identity $user_name -signaturehtml (get-content $filename) -autoaddsignature $true