Permet de configurer le service SNMP d’un serveur distant.
Ce script configure la communauté et les hosts autorisés.
$server = Read-Host "Please enter the server name" $MachineName = $server $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $MachineName) $regconf = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters",$true) $regconf.SetValue('EnableAuthenticationTraps','0','DWord') $regconf = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters\\PermittedManagers",$true) $regconf.SetValue('1','localhost','string') $regconf.SetValue('2','SV002859','string') Write-Host "Server: "$MachineName -ForegroundColor Green $regconf.GetValue('1') $regconf.GetValue('2') Write-Host "-------------------------------------" -ForegroundColor Green $regconft = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters\\ValidCommunities",$true) $regconft.SetValue('casimir','4','DWord') |
Déplacez les membres d’un groupe vers un autre groupe Active Directory.
$groups = Read-Host "Entrez le nom du groupe source" $groupt = Read-Host "Entrez le nom du groupe cible" $members = Get-QADGroupMember -Identity $groups Foreach ( $member in $members) { if ( $member -ne $null) { Add-QADGroupMember -Identity $groupt -Member $member.dn Remove-QADGroupMember -Identity $groups -Member $member.dn } } |
Copie les membres d’un groupe dans une autre groupe Active Directory.
$groups = Read-Host "Entrez le nom du groupe source" $groupt = Read-Host "Entrez le nom du groupe cible" $members = Get-QADGroupMember -Identity $groups Foreach ( $member in $members) { Add-QADGroupMember -Identity $groupt -Member $member.dn } |
Le script que j’utilise pour rapidement vérifier si tous les services nécessaire à Entreprise Vault sont démarrés sur une liste de serveurs.
$servers = "SRV00045","SRV00046" foreach ($server in $servers) { Get-Service -ComputerName $server | Where-Object { $_.name -like "EnterpriseVault*" -or $_.name -eq "MSMQ"} | ft $server,Status,Name,DisplayName } |
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 } |
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 reprenant tous les principes de fonctionnement de Exchange 2007 détaillés par rôles.
A télécharger ici.
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 |
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 |
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érateur | Description | Exemple |
|---|---|---|
| * | Répète une chaine | "-" * 20 |
| + | Concatène des chaines | "Bonjour " + "Pierre" |
| -replace | Remplace une chaine (Insensible à la case) | "Bonjour Pierre" -replace "Pierre","Paul" |
| -creplace | Remplace une chaine (Sensible à la case) | "Bonjour Pierre" -replace "pierre","paul" |
| -eq | Vérifie l'égalité (Insensible à la case) | "Pierre" -eq "pierre" |
| -ceq | Vérifie l'égalité (Sensible à la case) | "Pierre" -ceq "pierre" |
| -like | Vérifie qu'une chaine contient une autre chaine (Insensible à la case, Accept *) | "Pierre" -like "Pier*" |
| -clike | Vérifie qu'une chaine contient une autre chaine (Sensible à la case, Accept *) | "Pierre" -clike "Pier*" |
| -notlike | Vérifie qu'une chaine ne contient pas une autre chaine (Insensible à la case, Accept *) | "Pierre" -notlike "Pier*" |
| -cnotlike | Vérifie qu'une chaine contient une autre chaine (Insensible à la case, Accept *) | "Pierre" -cnotlike "Pier*" |
| -match | Vérifie qu'une chaine contient une autre chaine (Insensible à la case) | "Pierre" -match "rr" |
| -cmatch | Vérifie qu'une chaine contient une autre chaine (Sensible à la case) | "Pierre" -cmatch "rr" |
| -notmatch | Vérifie qu'une chaine ne contient pas une autre chaine (Insensible à la case) | "Pierre" -notmatch "rr" |
| -cnotmatch | Vérifie qu'une chaine contient une autre chaine (Insensible à la case) | "Pierre" -cnotmatch "rr" |

