Archive

Archives pour 2011

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.

?View Code 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.

?View Code POWERSHELL
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:

?View Code POWERSHELL
Get-ChildItem Env:

Afficher une variable d’environnement:

?View Code POWERSHELL
$Env:os

Utiliser les variables d’environnement:

?View Code POWERSHELL
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.

?View Code POWERSHELL
#Compte ftp
$user = "guest"
#Mot de passe du compte ftp
$password = "Powershell"
#Dossier source
$localdir = "C:\Scripts\"
#Dossier destination
$ftpdir = "ftp://ftp.server.com/uploads/"
 
$client = New-Object System.Net.WebClient 
$client.Credentials = New-Object System.Net.NetworkCredential($user,$password) 
 
#Debut de la partie création du dossier distant a mettre en remarque si le dossier existe déjà.
$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();
#Fin de la partie création du dossier distant
 
 
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.

?View Code POWERSHELL
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.

?View Code POWERSHELL
$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.

?View Code POWERSHELL
$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.

?View Code POWERSHELL
$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.

?View Code POWERSHELL
Test-Path $profile

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

?View Code POWERSHELL
notepad $profile

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

?View Code POWERSHELL
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: ,