Ce script permet de rechercher et remplacer une chaîne de caractère par une autre dans l’ensemble d’un fichier texte.
$content = Get-Content ".\file.txt" | foreach { $_ -replace "hello","bonjour" }
Set-Content -Path ".\file.txt" -Value $content |
Permet d’identifier les comptes qui ne se sont pas connectés au domaine depuis une date précise.
$LastLogonDate = New-Object System.DateTime(2012,1,1)
Get-ADUser -Filter { lastLogon -le $LastLogonDate } | ft Name,SamAccountName |
Script pour avoir un état de l’espace disque provisionné et utilisé des machines virtuelles dans chaque datastores.
$date = (Get-Date).ToString("ddMMyyyyhhmmss")
$file = ".\Export_vS\" + $date + "-VMByDatastore.csv"
$resfile = New-Item -ItemType file -Path $file -Force
Add-Content -Path $resfile -Value "DatastoreName;VMName;VMHostNme;ProvisionedSpace;UsedSpaceGB"
$Datastores = Get-Datastore
Foreach( $Datastore in $Datastores ){
$name = $Datastore.name
Get-VM -Datastore $name | Foreach {
Add-Content -Path $resfile -Value "$($name );$($_.Name);$($_.VMHost);$($_.ProvisionedSpaceGB);$($_.UsedSpaceGB)"
}
} |
Le contrôleur de domaine qui hébergeait les rôles FSMO à cramé.
Vous ne souhaitez ou ne pouvez le remettre en ligne.
Voici l’article Microsoft pour utiliser Ntdsutil.exe afin prendre ou transférer des rôles FSMO vers un autre contrôleur de domaine.
Utilisation de Ntdsutil.exe pour prendre ou transférer des rôles FSMO vers un contrôleur de domaine
Hommage au domaine CALYPSO que j’ai créé il y a 10ans et qui va bientôt s’éteindre.
Ce script export dans un fichier la capacité et le taux d’occupation des disques logiques de toutes le machines virtuelles de votre datacenter.
Pour prévenir des problèmes de saturation des disques des machines virtuelles dans un environnement important, je voulais un script qui m’exporte dans un fichier le taux d’occupation des volumes de chacune de VMs sous Windows ou Linux.
Ce script PowerCli consulte toutes les VMs l’architecture et fait un état de chaque disque. Il calcul l’espace en GB et le pourcentage de disque libre.
$date = (Get-Date).ToString("ddMMyyyyhhmmss")
$file = ".\Export_vS\" + $date + "-VMDisksState.csv"
$resfile = New-Item -ItemType file -Path $file -Force
Add-Content -Path $resfile -Value "Name;Volume;Capicty GB;Free GB;Free %"
Get-VM | foreach {
$disks = $_.guest.disks
Foreach ($disk in $disks) {
if ( $disk.Capacity -ne $null ){
$FreeSpace = [math]::round([int64]$disk.FreeSpace/1GB,2)
$Pourcent = [math]::round(([int64]$disk.FreeSpace*100)/$disk.Capacity)
$Capacity = [math]::round([int64]$disk.Capacity/1GB,2)
Add-Content -Path $resfile -Value "$($_.name);$($disk.path);$($Capacity);$($FreeSpace);$($pourcent)"
}
Else {
Add-Content -Path $resfile -Value "$($_.name);Stopped"
}
}
} |
Voici comment ouvrir un fichier de script PowerShell en commande directement depuis la console.
Voici déjà deux méthode pour lancer un application depuis PowerShell, ici PowerGUI Script Editor:
Invoke-Item 'C:\Program Files\PowerGUI\ScriptEditor.exe' |
ou
& 'C:\Program Files\PowerGUI\ScriptEditor.exe' |
Pour ouvrir directement le fichier de script:
& 'C:\Program Files\PowerGUI\ScriptEditor.exe' .\monscript.ps1 |
Si je veux éviter de taper à chaque fois le chemin de l’applications:
$notepadp = 'C:\Program Files\PowerGUI\ScriptEditor.exe'
& $notepadp .\monscript.ps1 |
Pour importer les module Active Directory sur un serveur Windows 2008 R2.
Par exemple sur votre serveur Exchange, vous voulez avoir accès aux cmdlets Active Directory 2008.
Il suffit de lancer dans Exchange Management Shell la commande:
Import-Module ActiveDirectory |
Par défaut, l’éditeur PowerShell ISE sur Windows 2008 R2 ou Seven qui possèdent nativement PowerShell V2 n’est pas accessible.
Il faut l’installer. Rien à télécharger, tout est déja disponible en local. Il suffit juste de lancer la commande.
Import-Module ServerManager;Add-WindowsFeature PowerShell-ISE |
Et comme par magie Powershell ISE apparait dans le menu démarrer.

Il vous permettra de faire en local vos petites modifications de script.

Pour les autres versions de Windows il faudra passer par l’installation de PowerShell V2.
La première ligne de commande après avoir lancer PowerCli, elle vous permet de vous connecter au vCenter Server et c’est ensuite que vous pourrez agir.
Connect-VIServer -Server 127.0.0.1 -User "domain\vcmadmin" -Password "P@ssW0rd" -Protocol "https" |