RUBRIQUE
    about_Type_Operators

DESCRIPTION COURTE
    Décrit les opérateurs qui fonctionnent avec les types Microsoft 
    .NET Framework.

DESCRIPTION LONGUE
    Les opérateurs de type booléen (-is et -isnot) indiquent si un 
    objet est une instance d'un type .NET Framework spécifié. 
    L'opérateur -is retourne la valeur TRUE si le type correspond et 
    la valeur FALSE dans le cas contraire. L'opérateur -isnot retourne 
    la valeur FALSE si le type correspond et la valeur TRUE dans le 
    cas contraire.
 

    L'opérateur -as tente de convertir l'objet d'entrée en type .NET 
    Framework spécifié. S'il réussit, il retourne l'objet converti. 
    S'il échoue, il ne retourne rien. Il ne retourne pas d'erreur.


    Le tableau suivant répertorie les opérateurs de type de Windows 
    PowerShell.


    Opérateur  Description                 Exemple  
    ---------  ------------------------    --------------
    -is       Retourne TRUE quand          C:\PS> (get-date) -is [datetime] 
              l'entrée est une instance    True
              du type .NET Framework 
              spécifié. 

    -isnot    Retourne TRUE quand          C:\PS> (get-date) -isnot [datetime] 
              l'entrée n'est pas une       False
              instance du type 
              .NET Framework spécifié.       
     
 
    -as       Convertit l'entrée en        C:\PS> 12/31/07 -as [datetime] 
              type .NET Framework          Lundi 31 décembre 2007 12:00:00
              spécifié.     


    La syntaxe des opérateurs de type se présente comme suit :

        <entrée> <opérateur> [type .NET]

    Vous pouvez également utiliser la syntaxe suivante :

        <entrée> <opérateur> "type .NET"
 

    Pour spécifier le type .NET Framework, placez le nom du type 
    entre crochets ([])ou entrez le type sous forme de chaîne, par 
    exemple [DateTime] ou "datetime" pour System.DateTime. Si le type 
    ne se trouve pas à la racine de l'espace de noms système, 
    spécifiez le nom complet du type de l'objet. Vous pouvez omettre 
    " System. ". Par exemple, pour spécifier System.Diagnostics.Proces
    s, entrez [System.Diagnostics.Process], [Diagnostics.Process] ou 
    "diagnostics.process". 

    Les opérateurs de type retournent toujours une valeur booléenne, 
    même si l'entrée est une collection d'objets. Toutefois, lorsque 
    l'entrée est une collection, ils correspondent au type .NET 
    Framework de cette collection. Ils ne correspondent pas au type 
    de chaque objet, même quand tous les objets sont du même type.

    Pour rechercher le type .NET Framework d'un objet, utilisez 
    l'applet de commande Get-Member. Vous pouvez également utiliser 
    la méthode GetType de tous les objets avec la propriété FullName 
    de cette méthode. Par exemple, l'instruction suivante obtient le 
    type de la valeur de retour d'une commande Get-Culture :

        C:\PS> (get-culture).gettype().fullname
        System.Globalization.CultureInfo
 

EXEMPLES
    Les exemples suivants illustrent des utilisations possibles des 
    opérateurs de type :

        C:\PS> 32 -is [Float]
        False

        C:\PS> 32 -is "int"
        True

        C:\PS> (get-date) -is [DateTime]
        True

        C:\PS> "12/31/2007" -is [DateTime]
        False

        C:\PS> "12/31/2007" -is [String]
        True

        C:\PS> (get-process powershell)[0] -is [System.Diagnostics.Process]
        True

        C:\PS> (get-command get-member) -is [System.Management.Automation.CmdletInfo]
        True
 

    L'exemple suivant montre que, lorsque l'entrée est une collection 
    d'objets, le type correspondant est le type .NET Framework de la 
    collection, et non le type des objets individuels de la collection.

    Dans cet exemple, bien que les applets de commande Get-Culture et 
    Get-UICulture retournent toutes les deux des objets 
    System.Globalization.CultureInfo, une collection de ces objets 
    est un tableau System.Object.

        C:\PS> (get-culture) -is [System.Globalization.CultureInfo]
        True

        C:\PS> (get-uiculture) -is [System.Globalization.CultureInfo]
        True

        C:\PS> (get-culture), (get-uiculture) -is [System.Globalization.CultureInfo]
        False

        C:\PS> (get-culture), (get-uiculture) -is [Array]
        True
 
        C:\PS> (get-culture), (get-uiculture) | foreach {$_ -is [System.Globalization.CultureInfo])
        True
        True

        C:\PS> (get-culture), (get-uiculture) -is [Object]
        True
 

    Les exemples suivants montrent comment utiliser l'opérateur -as.

        C:\PS> "12/31/07" -is [datetime]
        False

        C:\PS> "12/31/07" -as [datetime]
        Lundi 31 décembre 2007 12:00:00

        C:\PS> $date = "12/31/07" -as [datetime]

        C:\PS>$a -is [datetime]
        True

        C:\PS> 1031 -as [System.Globalization.CultureInfo]

        LCID             Nom              Nom d'affichage
        ----             ----             -----------
        1031             de-DE            allemand (Allemagne)

    L'exemple suivant montre que, lorsque l'opérateur -as ne peut pas 
    convertir l'objet d'entrée en type .NET Framework, il ne retourne 
    rien.


        C:\PS> 1031 -as [System.Diagnostic.Process]
        C:\PS>
 

VOIR AUSSI
    about_Operators




Table des matières