Partager via


Set-CimInstance

Modifie une instance CIM sur un serveur CIM en appelant la méthode ModifyInstance de la classe CIM.

Syntax

Set-CimInstance
   [-ComputerName <String[]>]
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cette applet de commande est disponible uniquement sur la plateforme Windows.

Cette applet de commande modifie une instance CIM sur un serveur CIM.

Si le paramètre InputObject n’est pas spécifié, l’applet de commande fonctionne de l’une des manières suivantes :

  • Si ni le paramètre ComputerName ni le paramètre CimSession ne sont spécifiés, cette applet de commande fonctionne sur windows Management Instrumentation (WMI) local à l’aide d’une session COM (Component Object Model).
  • Si le paramètre ComputerName ou cimSession est spécifié, cette applet de commande fonctionne sur le serveur CIM spécifié par le paramètre ComputerName ou cimSession .

Si le paramètre InputObject est spécifié, l’applet de commande fonctionne de l’une des manières suivantes :

  • Si ni le paramètre ComputerName ni le paramètre CimSession ne sont spécifiés, cette applet de commande utilise la session CIM ou le nom de l’ordinateur de l’objet d’entrée.
  • Si le paramètre ComputerName ou CimSession est spécifié, cette applet de commande utilise la valeur du paramètre CimSession ou la valeur du paramètre ComputerName . Ce n’est pas très courant.

Exemples

Exemple 1 : Définir le instance CIM

Cet exemple montre comment définir la valeur abcd de la propriété VariableValue à l’aide du paramètre Query. Vous pouvez modifier des instances correspondant à une requête WQL (Windows Management Instrumentation Query Language).

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}

Exemple 2 : Définir la propriété cim instance à l’aide du pipeline

Cet exemple récupère l’objet CIM instance filtré par le paramètre Query à l’aide de l’applet de Get-CimInstance commande. L’applet Set-CimInstance de commande modifie la valeur de la propriété VariableValue en abcd.

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
  Set-CimInstance -Property @{VariableValue="abcd"}

Exemple 3 : Définir la propriété cim instance à l’aide d’un objet d’entrée

$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru

Cet exemple récupère les objets CIM instance filtrés par le paramètre Query dans dans une variable $x à l’aide Get-CimInstancede , puis transmet le contenu de la variable à l’applet Set-CimInstance de commande. Set-CimInstance modifie ensuite la propriété VariableValue en somevalue. Étant donné que le paramètre Passthru est utilisé, cet exemple retourne un objet CIM instance modifié.

Exemple 4 : Définir la propriété instance CIM

Cet exemple récupère l’objet CIM instance spécifié dans le paramètre Query dans une variable $x à l’aide de l’applet Get-CimInstance de commande et modifie la valeur de la propriété VariableValue de l’objet à modifier. L’objet cim instance est ensuite enregistré à l’aide de l’applet de Set-CimInstance commande. Étant donné que le paramètre Passthru est utilisé, cet exemple retourne un objet CIM instance modifié.

$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru

Exemple 5 : Afficher la liste des instances CIM à modifier à l’aide de WhatIf

Cet exemple utilise le paramètre commun WhatIf pour spécifier que la modification ne doit pas être effectuée, mais seulement générer ce qui se passerait si elle était effectuée.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf

Exemple 6 : Définir le instance CIM après confirmation de l’utilisateur

Cet exemple utilise le paramètre commun Confirm pour spécifier que la modification ne doit être effectuée qu’après confirmation de l’utilisateur.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm

Exemple 7 : Définir le instance CIM créé

Cet exemple crée une instance CIM avec les propriétés spécifiées à l’aide de l’applet New-CimInstance de commande et récupère son contenu dans une variable $x. La variable est ensuite transmise à l’applet Set-CimInstance de commande, qui modifie la valeur de la propriété VariableValue en somevalue. Étant donné que le paramètre Passthru est utilisé, cet exemple retourne un objet CIM instance modifié.

$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Keys Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru

Paramètres

-CimSession

Exécute les applets de commande sur un ordinateur distant. Entrez un nom d’ordinateur ou un objet de session, tel que la sortie d’une New-CimSession applet de commande ou .Get-CimSession

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

Spécifie le nom de l’ordinateur sur lequel vous souhaitez exécuter l’opération CIM. Vous pouvez spécifier un nom de domaine complet (FQDN) ou un nom NetBIOS.

Si vous ne spécifiez pas ce paramètre, l’applet de commande effectue l’opération sur l’ordinateur local à l’aide du modèle COM (Component Object Model).

Si vous spécifiez ce paramètre, l’applet de commande crée une session temporaire sur l’ordinateur spécifié à l’aide du protocole WsMan.

Si plusieurs opérations sont effectuées sur le même ordinateur, la connexion à l’aide d’une session CIM offre de meilleures performances.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Spécifie un objet CIM instance à utiliser comme entrée.

Le paramètre InputObject n’énumère pas les collections. Si une collection est transmise, une erreur est générée. Lorsque vous travaillez avec des collections, canalisez l’entrée pour énumérer les valeurs.

Type:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Namespace

Spécifie l’espace de noms pour l’opération CIM. L’espace de noms par défaut est root/cimv2. Vous pouvez utiliser la saisie semi-automatique d’onglet pour parcourir la liste des espaces de noms, car PowerShell obtient une liste d’espaces de noms à partir du serveur WMI local pour fournir la liste des espaces de noms.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OperationTimeoutSec

Spécifie la durée pendant laquelle l’applet de commande attend une réponse de l’ordinateur. Par défaut, la valeur de ce paramètre est 0, ce qui signifie que l’applet de commande utilise la valeur de délai d’expiration par défaut pour le serveur.

Si le paramètre OperationTimeoutSec est défini sur une valeur inférieure au délai d’expiration des nouvelles tentatives de connexion robuste de 3 minutes, les défaillances réseau qui durent plus que la valeur du paramètre OperationTimeoutSec ne sont pas récupérables, car l’opération sur le serveur expire avant que le client puisse se reconnecter.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Retourne un objet représentant l’élément que vous utilisez. Par défaut, cette applet de commande ne génère aucun résultat.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Spécifie les propriétés du instance CIM en tant que table de hachage (à l’aide de paires nom-valeur). Seules les propriétés spécifiées à l’aide de ce paramètre sont modifiées. Les autres propriétés du instance CIM ne sont pas modifiées.

Type:IDictionary
Aliases:Arguments
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Query

Spécifie une requête à exécuter sur le serveur CIM pour récupérer les instances CIM sur lesquelles exécuter l’applet de commande. Vous pouvez spécifier le dialecte de requête à l’aide du paramètre QueryDialect.

Si la valeur spécifiée contient des guillemets doubles ("), des guillemets simples (') ou une barre oblique inverse (), vous devez placer ces caractères dans une séquence d’échappement en\ les précédant de la barre oblique inverse (\). Si la valeur spécifiée utilise l’opérateur WQL LIKE , vous devez placer les caractères suivants entre crochets ([]) : pourcentage (%), trait de soulignement (_) ou crochet ouvrant ([).

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-QueryDialect

Spécifie le langage de requête utilisé pour le paramètre Query. Les valeurs acceptables pour ce paramètre sont : WQL ou CQL. La valeur par défaut est WQL.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceUri

Spécifie l’URI (Uniform Resource Identifier) de la classe de ressources ou de l’instance de ressources. L'URI est utilisé pour identifier un type particulier de ressource, comme un disque ou un processus, sur un ordinateur.

Un URI se compose d'un préfixe et d'un chemin d'accès à une ressource. Par exemple :

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Par défaut, si vous ne spécifiez pas ce paramètre, l’URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ de ressource standard DMTF est utilisé et le nom de la classe y est ajouté.

ResourceURI ne peut être utilisé qu’avec les sessions CIM créées à l’aide du protocole WSMan ou lors de la spécification du paramètre ComputerName, qui crée une session CIM à l’aide de WSMan. Si vous spécifiez ce paramètre sans spécifier le paramètre ComputerName ou si vous spécifiez une session CIM créée à l’aide du protocole DCOM, vous obtiendrez une erreur, car le protocole DCOM ne prend pas en charge le paramètre ResourceURI.

Si le paramètre ResourceUri et le paramètre Filter sont spécifiés, le paramètre Filter est ignoré.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

CimInstance

Sorties

CimInstance

Lorsque le paramètre Passthru est spécifié, cette applet de commande retourne un objet CIM instance modifié.