Archive

Archives de l'auteur

Récupérer la date sur un système distant

En deux lignes, voici comment contrôler l’heure et la date sur un serveur distant avec PowerShell.

$rtime = Get-WmiObject -Class Win32_OperatingSystem -ComputerName "ServerName"
Write-Host $rtime.ConvertToDateTime($rtime.LocalDateTime)

Categories: Windows Tags: ,

Lister les 10 plus grosses boites aux lettres

14/12/2011 Comments off

Voici une commande pour récupérer le top 10 des boites Exchange de votre organistation.

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | Select-Object DisplayName,TotalItemSize -First 10

Variables d’environnement avec PowerShell

Voici comment utiliser les variables d’environnement avec PowerShell.

Afficher les variables d’environnement:

Get-ChildItem Env:

Afficher une variable d’environnement:

$Env:os

Utiliser les variables d’environnement:

Set-Location $env:USERPROFILE

Gérer VMware vSphere avec Powershell

Voici un guide de référence PowerCli pour VMware vSphere 4.1.
Il vous donne les bases pour gérer vShere avec Powershell.

PowerCli-Quick_Reference

Categories: VMware Tags: ,

CmdLets PowerShell pour Active Directory

Le poster des commandes Powershell pour Active Directory.
Ces CmdLets Active Directory sont disponibles sur Windows Server 2008 R2 mais nécessite Active Directory Management Gateway Service pour les autres versions.

Poster PowerShell Active Directory

Transfert vers un serveur FTP avec Powershell

Voici un script PowerShell qui permet de transférer un dossier vers un serveur FTP.
Ce script upload le dossier avec tous les sous dossiers et les fichiers.

$user = "guest"
$password = "Powershell"
$localdir = "C:\Scripts"
$ftpdir = "ftp://ftp.server.com/uploads/"
 
$client = New-Object System.Net.WebClient 
$client.Credentials = New-Object System.Net.NetworkCredential($user,$password) 
 
$parentfolder = $localdir.split("\")[-1]
Write-Host "Création de $parentfolder"
$makedir = [System.Net.WebRequest]::Create($ftpdir+$parentfolder);
$makedir.Credentials = New-Object System.Net.NetworkCredential($user,$password) 
$makedir.Method = [System.Net.WebRequestMethods+FTP]::MakeDirectory;
$makedir.GetResponse();
 
foreach($item in Get-ChildItem -recurse $localdir){ 
 
    $filename = [system.io.path]::GetFullPath($item.FullName).SubString([system.io.path]::GetFullPath($localdir).Length + 1)
 
    if ($item.Attributes -eq "Directory"){
 
        try{
            Write-Host "Création de $item.Name"
 
            $makedir = [System.Net.WebRequest]::Create($ftpdir+"/"+$parentfolder+"/"+$filename);
            $makedir.Credentials = New-Object System.Net.NetworkCredential($user,$password) 
            $makedir.Method = [System.Net.WebRequestMethods+FTP]::MakeDirectory;
            $makedir.GetResponse();
 
            }
            catch [Net.WebException] {
            Write-Host $item.Name probably exists ...
            }
 
            continue;
        }
 
        Write-Host "Transfert de $item..."
        $file = New-Object System.Uri($ftpdir+"/"+$parentfolder+"/"+$filename) 
        $client.UploadFile($file, $item.FullName)
    }

.

Categories: Powershell Tags: , ,

Copier le résultat dans le press-papier

Pour copier le résultat d’une commande Powershell directement dans le presse-papier, il suffit de rajouter « | clip » à la fin de celle-ci.
Il de reste plus qu’à aller faire le coller ou vous le souhaitez.

Get-ChildItem | clip

Categories: Powershell Tags: ,

Retrouver la lettre d’un disque USB

Dans votre profile, vous souhaitez vous connecter automatiquement à votre disque USB.
Il peut arriver que la lettre change.
Pour retrouver systématiquement la lettre de votre disque, voici un méthode.

$drive = get-psdrive | where-object { $_.description -eq "Disk Label" }
Set-Location $drive.root

Categories: Powershell Tags: , ,

Ne garder que les derniers caractères d’une chaîne

Voici comment extraire les 8 derniers caractères d’une chaine.

$log = "sys000456.log"
$log.Substring($log.Length-8,8)

Categories: Powershell Tags: ,

Créer et modifier son profile Powershell

Chacun ces petites habitudes sous Powershell.
Voici comment créer son profile et charger la configuration que l’on souhaite à l’ouverture de Powershell.
Identifiez le chemin de votre profile.

$profile

Sous Windows Seven, le résultat devrait ressembler à ‘C:\Users\Christophe\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1′
Vérifiez la présence du profile.

Test-Path $profile

Si la réponse et « True », lancez:

notepad $profile

Si la réponse est « False », il faut au préalable créer le fichier.

New-Item -Path $profile -Type file -Force
notepad $profile

Une fois dans le fichier, vous pouvez ajouter toutes les commandes que vous souhaitez exécuter à l’ouverture de Powershell.
Exemple:

Relancez Powershell pour admirer le résultat.

Categories: Powershell Tags: ,