• A venir …

     

    A venir, d’après les dernières questions posées sur le dernier WorkShop PowerShell Essentials V2:

    - Administrer son serveur Exchange 2003 avec PowerShell V2 (GWMI essentiellement)

    - Les Command-Lets Active Directory : comment s’assurer sur quel domaine AD on fera nos manipulations ?

    Exemple : un utilisateur qui a un samAccountName identique sur deux domaines, comment s’assurer que le Remove-ADUser –samAccountName ‘benp’ ne supprimera pas le mauvais utilisateurs

  • PowerShell Scripting – Afficher des valeurs en KB, MB ou GB dans un tableau

     

    Après la CmdLet “Format-Table”, lister les propriétés à afficher, puis quand arrive la propriété de type numérique à convertir, utiliser le caractère @ suivi des accollades {} :

    @{name=”Label(MB)”;expression={$_.propriété/1MB}}

    Emplacer le /1MB par /1GB pour convertir le nombre en GB, ou par /1KB pour convertir en KB.

    N’oubliez pas de remplacer le Label(MB) en conséquence pour plus de lisibilité ou pour éviter les appreciations trompeuses …

     

    APPLICATION :

    Taille de mémoire d’un processus – ici Notepad.exe – sans conversion (en Octets)

     

    PS C:\Users\samdrey> Get-Process notepad | Ft ProcessNAme,VirtualMemorysize -autosize 
    
    ProcessName	VirtualMemorySize
    
    -----------	-----------------
    
    notepad		84176896

     

    Taille de mémoire de ce même processus avec conversion (en MégaOctets)

    PS C:\Users\samdrey> Get-Process notepad | Ft ProcessNAme,@{name="VMSize(MB)";Expression={$_.Virtualmorysize/1MB}} -autosize
    
    ProcessName	VMSize(MB)
    
    -----------	----------
    
    notepad		80,27734375
    
  • PowerShell Scripting - Déclarer un tableau

     

    Déclarer comme :

    $a = @()

    # Initialise un tableau … utile pour des inputs successifs à stocker dedans par exemple

    ou bien

    [int32[]]$a

    # Force l’utilisation de valeurs de type Int32 pour le tableau

    Source : aide ci-desssous et Internet …

    If the statement gets only a single process, the $LocalProcesses variable
    would not be an array. To ensure the command creates an array, use the
    array subexpression operator, @, as shown in the following example:

        $LocalProcesses = @(get-process co*)

    Even if the command returns a single process, the $LocalProcesses variable
    is an array. Even if it has only one member, you can treat it like any
    other array. For example, you can add other objects to it. For more
    information, see about_Operators.

    http://technet.microsoft.com/en-us/library/dd315313.aspx