Archive

Archives de l'auteur

Remplacer une chaîne dans un fichier texte

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

Categories: Powershell Tags: , , ,

Identifier les comptes plus utilisés

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

Tweets

 

Categories: Twitter Tags:

Utilisation disque des VMs dans les datastores

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

Récupérer les rôles FSMO.

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.

Exporter l’état des disques des machines virtuelles

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

Lancer l’édition d’un fichier depuis PowerShell

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

Categories: Powershell Tags: , , ,

Importer les cmdlets Active Directory 2008

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

Categories: Active Directory Tags: ,

Activer l’éditeur PowerShell sur Windows 2008 R2

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.

Categories: Powershell Tags: , ,

Se connecter au vCenter Server avec PowerCli

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"

Categories: VMware Tags: , ,