Crée une instance d'un objet Microsoft .NET Framework ou COM.

Syntaxe

New-Object -ComObject <string> [-Strict] [-Property <hashtable>] [<CommonParameters>]

New-Object [-TypeName] <string> [[-ArgumentList] <Object[]>] [-Property <hashtable>] [<CommonParameters>]

Description

L'applet de commande New-Object crée une instance d'un objet .NET Framework ou COM.

Vous pouvez spécifier le type d'une classe .NET Framework ou un identificateur programmatique (ProgID) d'un objet COM. Par défaut, vous tapez le nom complet d'une classe .NET Framework et l'applet de commande retourne une référence à une instance de cette classe. Pour créer une instance d'un objet COM, utilisez le paramètre ComObject et spécifiez l'Identificateur programmatique (ProgID) de l'objet en tant que sa valeur.

Paramètres

-ArgumentList <Object[]>

Spécifie une liste d'arguments à passer au constructeur de la classe .NET Framework. Séparez les éléments de la liste en utilisant des virgules (,). L'alias pour ArgumentList est Args.

Obligatoire ?

false

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ComObject <string>

Spécifie l'identificateur programmatique (ProgID) de l'objet COM.

Obligatoire ?

true

Position ?

named

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Property <hashtable>

Définit les valeurs de propriété et appelle les méthodes du nouvel objet.

Entrez une table de hachage dans laquelle les clés sont les noms de propriétés ou de méthodes et les valeurs des valeurs de propriété ou des arguments de méthode. New-Object crée l'objet, définit chaque valeur de propriété et appelle les différentes méthodes dans l'ordre dans lequel elles s'affichent dans la table de hachage.

Si le nouvel objet est dérivé de la classe PSObject et que vous spécifiez une propriété qui n'existe pas sur l'objet, New-Object ajoute la propriété spécifiée à l'objet en tant que propriété de note (NoteProperty). Si l'objet n'est pas un objet PSObject, la commande génère une erreur sans fin d'exécution.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Strict

Spécifie qu'une erreur doit être signalée si l'objet COM que vous essayez de créer utilise un assembly d'interopérabilité. Cela vous permet de distinguer les objets COM réels des objets .NET Framework comprenant des wrappers pouvant être appelés par COM (WWC, COM-Callable Wrappers).

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-TypeName <string>

Spécifie le nom complet de la classe .NET Framework. Vous ne pouvez pas spécifier à la fois le paramètre TypeName et le paramètre ComObject.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

Aucun

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

Object

New-Object retourne l'objet créé.

Remarques

New-Object fournit les fonctionnalités les plus courantes de la fonction CreateObject de VBScript. Une instruction de type Set objShell = CreateObject("Shell.Application") dans VBScript peut être traduite en $objShell = new-object -comobject "Shell.Application" dans Windows PowerShell.

New-Object s'appuie sur les fonctionnalités disponibles dans l'environnement Windows Script Host en facilitant l'utilisation des objets .NET Framework à partir de la ligne de commande et dans les scripts.

Exemple 1

C:\PS>new-object -typename System.Version -argumentlist "1.2.3.4" 

Major  Minor  Build  Revision
-----  -----  -----  --------
1      2      3      4

Description
-----------
Cette commande crée un objet System.Version en utilisant la chaîne « 1.2.3.4 » comme constructeur.






Exemple 2

C:\PS>$ie = new-object -comobject InternetExplorer.Application -property @{navigate2="www.microsoft.com"; visible = $true}

Description
-----------
Cette commande crée une instance de l'objet COM qui représente l'application Internet Explorer. Elle utilise le paramètre Property pour appeler la méthode Navigate2 et pour définir la propriété Visible de l'objet sur $true pour rendre l'application visible.

Cette commande est l'équivalent de ce qui suit :

$ie = new-object -comobject InternetExplorer.Application 
$ie.navigate2("www.microsoft.com")
$ie.visible = $true






Exemple 3

C:\PS>$a=new-object -comobject Word.Application -strict -property @{visible=$true}

New-Object : The object written to the pipeline is an instance of the type
"Microsoft.Office.Interop.Word.ApplicationClass" from the component's prima
ry interop assembly. If this type exposes different members than the IDispa
tch members, scripts written to work with this object might not work if the
 primary interop assembly is not installed.
At line:1 char:14
+ $a=New-Object  <<<< -COM Word.Application -Strict; $a.visible=$true

Description
-----------
Cette commande montre que la spécification du paramètre Strict entraîne la génération par l'applet de commande New-Object d'une erreur sans fin d'exécution lorsque l'objet COM créé utilise un assembly d'interopérabilité.






Exemple 4

C:\PS>$objshell = new-object -comobject "Shell.Application"

C:\PS> $objshell | get-member

C:\PS> $objshell.ToggleDesktop()

Description
-----------
La commande utilise le paramètre ComObject pour créer un objet COM avec le ProgID « Shell.Application ». Elle stocke l'objet résultant dans la variable $objShell.

La deuxième commande dirige la variable $objShell vers l'applet de commande Get-Member, qui affiche les propriétés et méthodes de l'objet COM. 

La troisième commande appelle la méthode ToggleDesktop de l'objet pour réduire les fenêtres actives de votre bureau.






Voir aussi




Table des matières