Partager via


Set-CimInstance

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

Syntaxe

CimInstanceComputerSet (Par défaut)

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

CimInstanceSessionSet

Set-CimInstance
    [-InputObject] <CimInstance>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-Property <IDictionary>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

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

QueryComputerSet

Set-CimInstance
    [-Query] <String>
    -Property <IDictionary>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-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 aucun paramètre ComputerName ni le paramètre CimSession n’est spécifié, cette applet de commande fonctionne sur WMI (Local Windows Management Instrumentation) à l’aide d’une session COM (Component Object Model).
  • Si le paramètre ComputerName ou le paramètre CimSession est spécifié, cette applet de commande fonctionne sur le serveur CIM spécifié par le paramètre ComputerName ou le paramètre 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 n’est spécifié, cette applet de commande utilise la session CIM ou le nom de l’ordinateur à partir de l’objet d’entrée.
  • Si le paramètre ComputerName ou le paramètre CimSession est spécifié, alors cette applet de commande utilise la valeur du paramètre CimSession ou du paramètre ComputerName. Ce n’est pas très courant.

Exemples

Exemple 1 : Définir l’instance CIM

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

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

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

Cet exemple récupère l'objet d'instance CIM, filtré par le paramètre de la requête , en utilisant l'applet de commande . La Set-CimInstance cmdlet 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é d’instance CIM à l’aide de l’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 d’instance CIM filtrés par le paramètre Query dans une variable $x à l’aide de Get-CimInstance, puis transmet le contenu de la variable à l’applet de commande Set-CimInstance. Set-CimInstance modifie ensuite la propriété VariableValue en somevalue. Étant donné que le paramètre passThru est utilisé, cet exemple retourne un objet d’instance CIM modifié.

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

Cet exemple récupère l’objet d’instance CIM spécifié dans le paramètre Query dans une variable $x à l’aide de l’applet de commande Get-CimInstance et modifie la valeur de propriété VariableValue de l’objet à modifier. L’objet d’instance CIM est ensuite enregistré à l’aide de l’applet de commande Set-CimInstance. Étant donné que le paramètre passThru est utilisé, cet exemple retourne un objet d’instance CIM 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 uniquement la sortie de ce qui se passerait si elle était effectuée.

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

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

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

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

Exemple 7 : Définir l’instance CIM créée

Cet exemple crée une instance CIM avec les propriétés spécifiées à l’aide de l’applet de commande New-CimInstance et récupère son contenu dans une variable $x. La variable est ensuite transmise à la cmdlet Set-CimInstance, 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 d’instance CIM modifié.

$instance = @{
    ClassName = 'Win32_Environment'
    Property = @{
        Name="testvar"
        UserName="domain\user"
    }
    Key = 'Name', 'UserName'
    ClientOnly = $true
}
$x = New-CimInstance @instance
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 ou d’une applet de commande Get-CimSession.

Propriétés du paramètre

Type:

CimSession[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CimInstanceSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QuerySessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 objet de composant (COM).

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.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CN, Nom du serveur

Jeux de paramètres

CimInstanceComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

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

Le paramètre InputObject n’énumère pas les collections. Si une collection est passée, une erreur est générée. Lorsque vous travaillez avec des collections, acheminez les données d'entrée pour en énumérer les valeurs.

Propriétés du paramètre

Type:CimInstance
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CimInstance

Jeux de paramètres

CimInstanceComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimInstanceSessionSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Namespace

Spécifie l’espace de noms de l’opération CIM. L’espace de noms par défaut est racine/CIMV2. Vous pouvez utiliser la complétion par tabulation pour parcourir la liste des namespaces, car PowerShell récupère la liste des namespaces depuis le serveur WMI local pour la fournir.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QuerySessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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’attente de nouvelle tentative de connexion robuste de 3 minutes, les échecs 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 ne puisse se reconnecter.

Propriétés du paramètre

Type:UInt32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:OT

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PassThru

Retourne un objet représentant l’élément avec lequel vous travaillez. Par défaut, cette applet de commande ne génère aucune sortie.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Property

Spécifie les propriétés de l’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 de l’instance CIM ne sont pas modifiées.

Propriétés du paramètre

Type:IDictionary
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Les arguments

Jeux de paramètres

CimInstanceComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
CimInstanceSessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QuerySessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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 échapper ces caractères en les préfixant avec la barre oblique inverse (\). Si la valeur spécifiée utilise l’opérateur WQL LIKE, vous devez échapper aux caractères suivants en les plaçant entre crochets ([]) : pourcentage (%), trait de soulignement (_) ou crochet ouvrant ([).

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QuerySessionSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-QueryDialect

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

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QuerySessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
QueryComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-ResourceUri

Spécifie l’URI (Uniform Resource Identifier) de la classe de ressource ou de l’instance. L’URI est utilisé pour identifier un type spécifique de ressource, tel que des disques ou des 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 de ressource standard DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ est utilisé et le nom de la classe est ajouté à celui-ci.

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 obtenez 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é.

Propriétés du paramètre

Type:Uri
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CimInstanceComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
CimInstanceSessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

CimInstance

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

CimInstance

Lorsque vous utilisez le paramètre passThru , cette applet de commande retourne l’objet d’instance CIM modifié.

Notes

PowerShell inclut les alias suivants pour Set-CimInstance:

  • Windows :
    • scim

Cette applet de commande est disponible uniquement sur les plateformes Windows.