Contrôle des files MSMQ

Voici le script que j’utilise pour contrôler l’état des files MSMQ sur les serveurs Symantec Entreprise Vault.

$servers = "SRV00045","SRV00046"
foreach ($server in $servers) {
$server
"-"*10
Get-WmiObject Win32_PerfFormattedData_MSMQ_MSMQQueue -computer $server | Sort-Object -property "MessagesinQueue" -descending | Where-Object { $_.MessagesinQueue -ne "0" } | ft Name,MessagesinQueue
}

Categories: Enterprise Vault Tags:

Modification des paramètres de quota.

Lors de la modification des paramètres de quota sur une boite aux lettres, on constate que le paramétrage prend longtemps avant d’être appliquer.

Il s’agit d’une délais d’application par défaut de deux heures dans le configuration de Exchange 2007.

Le seul moyen de contourner ce délais est de redémarrer le service MSExchangeIS. Et ca, c’est pas cool, surtout pour les 5000 autres utilisateurs du serveur.

Je conseil donc d’être vigilent lors des modifications et diplomate lorsque votre PDG se retrouve bloqué.

Pour les impatients, j’ai trouvé un article ici qui propose de modifier le délais d’attente. (J’ai pas testé.)

Poster Exchange 2010.

Poster reprenant tous les principes de fonctionnement de Exchange 2007 détaillés par rôles.

Poster Exchange 2010

A télécharger ici.

Categories: Exchange 2010 Tags: ,

Formater une chaine de caratères.

L’opérateur -F permet de formater un chaine de caractères.

"{0} disquettes par CD" -f (720mb/1.44mb)
500 disquettes par CD

"Insérer {0} {3} de {2} Mo sur un CD de {1} Mo" -F (720mb/1.44mb), 720, 1.44, "Disquettes"
Insérer 500 Disquettes de 1,44 Mo sur un CD de 720 Mo

Categories: Les bases Tags:

Exporter la taille des boites d’un groupe.

Cette commande exporte la taille des boites aux lettres membre d’un groupe, il indique la base de données où se trouve la boite.

Get-QADGroupMember -Identity "Groupe_Compta" -SizeLimit 0 | foreach { Get-MailboxStatistics
 -Identity $_.dn -ErrorAction silentlycontinue | ft Displayname, Database, @{ expression={$_.TotalIt
emSize.Value.ToMB() } ;label="TotalItemSize (MB)" } } > Compta_group_size.csv

Opérateurs de chaines.

Les opérateurs de chaines vous permettent de manipuler des chaines de caractères.

"Bonjour Christophe" -Replace "Christophe","Sébastien"

Voici la liste des opérateurs disponibles.

OpérateurDescriptionExemple
*Répète une chaine"-" * 20
+Concatène des chaines"Bonjour " + "Pierre"
-replaceRemplace une chaine (Insensible à la case)"Bonjour Pierre" -replace "Pierre","Paul"
-creplaceRemplace une chaine (Sensible à la case)"Bonjour Pierre" -replace "pierre","paul"
-eqVérifie l'égalité (Insensible à la case)"Pierre" -eq "pierre"
-ceqVérifie l'égalité (Sensible à la case)"Pierre" -ceq "pierre"
-likeVérifie qu'une chaine contient une autre chaine (Insensible à la case, Accept *)"Pierre" -like "Pier*"
-clikeVérifie qu'une chaine contient une autre chaine (Sensible à la case, Accept *)"Pierre" -clike "Pier*"
-notlikeVérifie qu'une chaine ne contient pas une autre chaine (Insensible à la case, Accept *)"Pierre" -notlike "Pier*"
-cnotlikeVérifie qu'une chaine contient une autre chaine (Insensible à la case, Accept *)"Pierre" -cnotlike "Pier*"
-matchVérifie qu'une chaine contient une autre chaine (Insensible à la case)"Pierre" -match "rr"
-cmatchVérifie qu'une chaine contient une autre chaine (Sensible à la case)"Pierre" -cmatch "rr"
-notmatchVérifie qu'une chaine ne contient pas une autre chaine (Insensible à la case)"Pierre" -notmatch "rr"
-cnotmatchVérifie qu'une chaine contient une autre chaine (Insensible à la case)"Pierre" -cnotmatch "rr"

Categories: Les bases Tags:

Utilisation des guillemets.

L’utilisation des guillemets simple ou double a son importance avec PowerShell.
Elles permettent de résoudre ou non des opérations arithmétiques.

$resultat  = 'Le resultat est : $(5+3)'
$resultat
Le resultat est : $(5+3)
$resultat  = "Le resultat est : $(5+3)"
$resultat
Le resultat est : 8

Elles permettent de résoudre où non les variables.

$res = $(5+3)
$resultat  = 'Le resultat est : $res'
$resultat
Le resultat est : $res
$resultat  = "Le resultat est : $res"
$resultat
Le resultat est : 8

Elles autorisent l’insertion des caractères spéciaux grâces aux caractères d’échappement.

"Inserer une tabulation entre A et B: A`tB"
Inserer une tabulation entre A et B: A  B

Liste des caractères d’échappement.

Caratères d'échappementRésultat
`nNouvelle ligne
`rRetour chariot
`tTabulation
`aAlarm
`bBackspace
`'Guillemet simple
`"Guillemet double
`0Null
``Backtick

Categories: Les bases Tags:

Supprimer les anciens fichiers de logs.

Ce script supprime les fichiers de logs de plus de 30 jours.

$Now = Get-Date
$LastWrite = $Now.AddDays(-30)
$Files = get-childitem -Path ".\logs" -include *.log -recurse |Where {$_.LastWriteTime -le "$LastWrite"} 
foreach ($File in $Files){
if ($File) {
write-host "Deleting File '$File'"
Remove-Item $File | out-null
}
}

Categories: Windows Tags:

Exporter les statistiques de Enterprise Vault

Enterprise Vault
Voici comment j’exporte les statistiques d’archivage dans Symantec Enterprise Vault.

$Server = "server30"
$Database = "EVaultStoreArchive1"
$AttachmentPath = ".Export_EVEV_1_Stats.csv"
$SqlQuery = "SELECT [ArchiveName], ArchivedItems, CAST(ArchivedItemsSize AS decimal(20, 0)) AS ArchivedItemsSize From view_ListVaults INNER JOIN [EnterpriseVaultDirectory].[dbo].[ArchiveView] ON view_ListVaults.ArchivePointId = [EnterpriseVaultDirectory].[dbo].[ArchiveView].[VaultEntryId]"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$nRecs = $SqlAdapter.Fill($DataSet)
$nRecs | Out-Null
$objTable = $DataSet.Tables[0]
$objTable | Export-CSV $AttachmentPath
Write-Host "Export terminé."
$resfile = New-Item -ItemType file -Path ".Export_EVEV_1_Stats_Result.csv" -Force
Add-Content -Path $resfile -Value "FirstOU,Name,ArchivedItems,ArchivedItemsSize,VaultCache,OrganizationalUnit"
$evnom = "CN=EV_NOMADES,CN=Users,DC=domain,DC=local"
$InputFile = import-csv -Path $AttachmentPath
foreach ($Mailbox in $InputFile)
{
$user = Get-QADUser -Identity $Mailbox.ArchiveName
$user.Name
if ($user.NestedMemberOf -contains $evnom )
{$vaultchache = "True"}
Else
{$vaultchache = $null}
$FirstOU = $User.ParentContainer -split("/")
$FirstOU = $FirstOU[1]
Add-Content -Path $resfile -Value "$($FirstOU),$($Mailbox.ArchiveName),$($Mailbox.ArchivedItems),$($Mailbox.ArchivedItemsSize),$($vaultchache),$($user.ParentContainer)"

Déployer l’Agent EPO 4 McAfee par GPO.


Voici la procédure pour déployer l’Agent EPO 4.x par GPO.
Ça marche très bien, le seul soucis que j’ai est de reconfigurer les référentiel sur les poste où la version 4 est déjà installé.
Pour ce cas de figure, je continu à passer par ePolicy Orchestrator pour déployer l’agent.

Le lien: How to enable Group Policy deployment of McAfee Agent 4.x

Categories: McAfee Tags: , ,