Ce script permet de d’appliquer un marquage sur les attributs personnalisés des boites dont le compte AD est désactivé.
Il est ensuite possible d’appliquer plus facilement un filtre afin de déplacer toutes ces boites aux lettres.
Get-Mailbox -Database ccr03\is_paris_10 | foreach { $user = Get-QADUser -Identity $_.alias if ($user.AccountIsDisabled -eq "true"){ $user Set-Mailbox -Identity $user.UserPrincipalName -CustomAttribute4 "Disabled_on_Paris_10" } } |
Permet de transférer la valeur d’une variable dans un fichier texte.
$christophe = get-mailbox *christophe* Set-Content christophe.txt $christophe |
Voici quelques commandes pour traiter un fichier texte.
Supprimer les lignes contenant une chaine de caractères:
Get-Content .\fichier.txt | where { $_ -notmatch "Ligne à supprimer" } |
Conserver les lignes contenant une chaine de caractères:
Get-Content .\fichier.txt | where { $_ -like "Ligne à garder*" } |
Remplacer ou supprimer une chaine de caractère dans toutes les lignes:
Get-Content .\fichier.txt | foreach { $_ -replace "Mailbox: ","" } |
Supprimer les lignes vides:
Get-Content .\fichier.txt | where { $_ -ne "$null" } |
Ce Script automatise l’exportation d’une boite aux lettres dans un fichier PST.
Pour rappel, il y a des pré-requis pour faire des exportations de boites aux lettres.
1- OS 32bits (XP ou Windows Server) (Pas testé sur Seven)
2- Client Outlook. (Outlook 2003 SP2 Minimum)
3- Exchange 2007 Management Tools
$mbal = Read-Host "Please enter the mailbox" $musr = [Environment]::UserName Add-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr $pst = "I:\PSTDATA\" + $mbal +".pst" Export-Mailbox -Identity $mbal -PSTFolderPath $pst -Confirm:$false Remove-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr -Confirm:$false |
Voici comment modifier la base de registre d’un serveur à distance.
$servername = "SRV001" $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $servername) $regconf = $reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\SNMP\\Parameters",$true) #Ecriture de la valeur. $regconf.SetValue('EnableAuthenticationTraps','0','DWord') #Verification de la valeur. $regconf.GetValue('EnableAuthenticationTraps') |
Voici les différents types de valeurs.
Unknown
String
ExpandString
Binary
DWord
MultiString
QWord
Permet de supprimer le doublon de ligne dans un fichier texte.
Si dans un fichier texte, vous avez plusieurs lignes identiques, cette commande ne retourne qu’une seule fois la ligne.
Type .\export-brut.csv | Select -Unique |
Pour revoyer le résultat vers un fichier résultat:
Type .\export-brut.csv | Select -Unique > export-nettoye.csv |
J’ai testé iDialog qui est un client OCS (Communicator) sur mon iPod.
Il utilise CWA pour la connexion.
Même si mon iPod n’est pas multi-tâche et que je dois fermer iDialog pour voir mes mails, cela reste pratique.
Manque par contre, la notification (bip) lorsque que l’iPod est en veille.
Mais ces petits handicap sont peut être réglés sur iPhone4 et iPad. (a voir)
Cela marche très bien sur OCS 2007, je ne sais pas si il y a des fonctions supplémentaires sur OCS 2007 R2.
Voici un aperçu de ce que ca donne.

Accès à tout l’annuaire de l’entreprise.

Permet de transférer l’appel sur un de vos numéro ou la messagerie vocale.
Plus d’infos ici.
Ce datacenter situé en Suède est construit dans un ancien abri anti-atomique.
Permet d’ajouter les ordinateurs d’un OU dans un groupe.
Get-QADComputer -SizeLimit 0 -SearchRoot "domain.local/OU01_Paris" | foreach { Add-QADGroupMember -Identity "OU01-Paris-Comp" -Member $_.name } |
La même chose avec un filtrage sur le nom des ordinateurs.
Get-QADComputer -SizeLimit 0 -SearchRoot "domain.local/OU01_Paris" | Where-Object { $_.name -like "frlt*" -or $_.name -like "frdt*" } | foreach { Add-QADGroupMember -Identity "OU01-Paris-Comp" -Member $_.name } |
Permet d’obtenir son « current username » avec Powershell pour l’utiliser dans vos scripts.
Votre login:
[Environment]::UserName |
Variante avec le nom de domaine
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name |
Juste le domaine:
[Environment]::UserDomainName |
Le nom de l’ordinateur:
[Environment]::MachineName |



