Marquer les boites dont le compte est désactivé.



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"
}
}



Envoyer la valeur d’une variable dans un fichier.



Permet de transférer la valeur d’une variable dans un fichier texte.

$christophe = get-mailbox *christophe*
Set-Content christophe.txt $christophe



Modifier le contenu d’un fichier texte.



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" }



Exporter une boite aux lettres en PST.



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



Modifier la base de registre à distance.



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



Supprimer les lignes en double dans un fichier.



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



Client OCS pour iPhone, iPod et Ipad.



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.


Très pratique et très fluide.


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.



Le Datacenter ultime.



Ce datacenter situé en Suède est construit dans un ancien abri anti-atomique.

<Source>



Ajouter les ordinateurs d’une OU dans un groupe



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 }



Récuperer votre login courant avec Powershell.



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