Permet d’afficher la version des serveurs Exchange de l’organisation et les rôles.
Get-ExchangeServer | ft Name,Edition,ExchangeVersion,ServerRole,IsMemberOfCluster |
Voici également les numéros de version de Exchange et les dates de sortie:
April 1996 – Microsoft Exchange Server 4.0 - 4.0.837
August 1996 – Microsoft Exchange Server 4.0 (a) - 4.0.993
May 1996 – Microsoft Exchange Server 4.0 SP1 - 4.0.838
August 1996 – Microsoft Exchange Server 4.0 SP2 - 4.0.993
November 1996 – Microsoft Exchange Server 4.0 SP3 - 4.0.994
April 1997 – Microsoft Exchange Server 4.0 SP4 - 4.0.995
May 1998 – Microsoft Exchange Server 4.0 SP5 - 4.0.996
March 1997 – Microsoft Exchange Server 5.0 - 5.0.1457
June 1997 – Microsoft Exchange Server 5.0 SP1 - 5.0.1458
February 1998 – Microsoft Exchange Server 5.0 SP2 - 5.0.1460
November 1997 – Microsoft Exchange Server 5.5 - 5.5.1960
July 1998 – Microsoft Exchange Server 5.5 SP1 - 5.5.2232
December 1998 – Microsoft Exchange Server 5.5 SP2 - 5.5.2448
September 1999- Microsoft Exchange Server 5.5 SP3 - 5.5.2650
November 2000 – Microsoft Exchange Server 5.5 SP4 - 5.5.2653
October 2000 – Microsoft Exchange 2000 Server - 6.0.4417
January 2001 – Microsoft Exchange 2000 Server (a) - 6.0.4417
July 2001 – Microsoft Exchange 2000 Server SP1 - 6.0.4712
December 2001 – Microsoft Exchange 2000 Server SP2 - 6.0.5762
August 2002 – Microsoft Exchange 2000 Server SP3 - 6.0.6249
September 2003- Microsoft Exchange 2000 Server post-SP3 – 6.0.6487
April 2004 – Microsoft Exchange 2000 Server post-SP3 – 6.0.6556
August 2004 – Microsoft Exchange 2000 Server post-SP3 – 6.0.6603
March 2008 – Microsoft Exchange 2000 Server post-SP3 – 6.0.6620.5
August 2008 – Microsoft Exchange 2000 Server post-SP3 – 6.0.6620.7
October 2003 – Microsoft Exchange Server 2003 - 6.5.6944
May 2004 – Microsoft Exchange Server 2003 SP1 – 6.5.7226
October 2005 – Microsoft Exchange Server 2003 SP2 – 6.5.7638
March 2008 – Microsoft Exchange Server 2003 post-SP2 – 6.5.7653.33
August 2008 – Microsoft Exchange Server 2003 post-SP2 – 6.5.7654.4
December 2006 – Microsoft Exchange Server 2007 - 8.0.685.24 or 8.0.685.25
November 2007 – Microsoft Exchange Server 2007 SP1 – 8.1.0240.006
August 2009 – Microsoft Exchange Server 2007 SP2 – 8.2.0176.002
October 2009 – Microsoft Exchange Server 2010 - 14.00.0639.021
Permet d’effectuer une tache d’administration sur les membres d’un groupe.
Get-Group -Identity "Group_Name" |
ForEach-Object {
$groupdn=("LDAP://"+$_.DistinguishedName)
$group = ([ADSI]$groupdn)
""
"Nom du groupe"
"-------------"
$_.DistinguishedName
""
"Liste des membres du groupe"
"---------------------------"
ForEach ($member in $group.member){
$member
# Desactivation du quota *EXCEPTION_QUOTA*
Set-Mailbox -Identity $member -IssueWarningQuota Unlimited -ProhibitSendQuota Unlimited -ProhibitSendReceiveQuota Unlimited -UseDatabaseQuotaDefaults $false
}
} |
Enfin, il est maintenant facile de visualiser, déconnecter et arrêter des sessions RDP sur un serveur distant via Powershell.
Il s’agit de commande ajoutées avec PSCX.
Afficher les sessions en cours:
Get-TerminalSession -ComputerName "server001" |
Déconnecter la session de l’ID 2:
Disconnect-TerminalSession -ComputerName "server001" -Id 2 |
Arrêter la session de l’ID 2:
Stop-TerminalSession -ComputerName "server001" -Id 2 |
Permet de renvoyer les informations affichés de Powershell ver Excel.
Les lignes sont renseignées en temps réelle.
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
$col = 1
$ligne = 1
$c.Cells.Item(1,1) = "DisplayName"
$c.Cells.Item(1,2) = "Alias"
$c.Cells.Item(1,3) = "Database"
$ligne++
Get-Mailbox -Identity *christophe* | foreach {
$displayname = $_.displayname
$alias = $_.alias
$database = $_.database
$col = 1
$c.Cells.Item($ligne,$col) = [string]$displayname
$col++
$c.Cells.Item($ligne,$col) = [string]$alias
$col++
$c.Cells.Item($ligne,$col) = [string]$database
$ligne++
} |
En ajoutant les lignes suivantes, il est possible d’automatiser l’enregistrement et la fermeture du document.
$b.SaveAs("C:\Resultats\Result_Christophe.xls")
$a.Quit() |

Le contrôle de l’utilisation d’internet et de la messagerie.
On en en parle pas souvent, on en a une vague idée mais il existe un cadre.
La CNIL a publié une fiche pratique sur les droits et devoirs de l’entreprise et des salariés pour l’utilisation d’Internet et la Messagerie.
Il y a quelques informations à découvrir ici.
Permet d’ajouter une boite dans les listes de distribution dont est membre un autre boite.
$srcuser = "goldorak"
$trgtuser = "albator"
Get-DistributionGroup -ResultSize unlimited -OrganizationalUnit "domain.local" | foreach {
$groupname = $_.name
Get-DistributionGroupMember -Identity $groupname | Where-Object { $_.Alias -eq $srcuser } | foreach {
$groupname
Add-DistributionGroupMember -Identity $groupname -Member $trgtuser
#Remove-DistributionGroupMember -Identity $groupname -Member $srcuser
}
} |
Permet de créer rapidement un groupe de distribution pour la communication aux boites d’une database.
New-DistributionGroup -OrganizationalUnit "domain.local/OU02_Paris" -Name OU02-DB_Paris_5-BAL -Type Security -SamAccountName OU02-DB_Paris_5-BAL
Get-Mailbox -Database CCR001\DB_Paris_5 | foreach { Add-DistributionGroupMember -Identity OU02-DB_Paris_5-BAL -Member $_.DistinguishedName } |
Ce filtre affiche les boites de plus de 650MB et moins de 900MB d’une database et qui n’ont pas le CustomAttribute4 renseigné.
Ce filtre me permet ensuite de lancer un move-mailbox afin d’alléger des databases trop chargées.
Get-Mailbox -Database ccr001\DB_SG_Paris_5 | Where-Object { $_.CustomAttribute4 -ne "mailboxwithblackberry" } | foreach { Get-MailboxStatistics -Identity $_.alias | Where-Object { $_.totalitemsize -gt 650mb -and $_.totalitemsize -lt 900Mb }} | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" } |