Freigeben über


New-CMTSRule

Erstellen Sie eine Regel, die einem Tasksequenzschritt dynamische Variablen festlegen hinzugefügt werden soll.

Syntax

New-CMTSRule
   -Variable <Hashtable>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTSRule
   [-AssetTag <String>]
   [-MacAddress <String>]
   [-SerialNumber <String>]
   [-Uuid <String>]
   -Variable <Hashtable>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTSRule
   [-DefaultGateway <String>]
   -Variable <Hashtable>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTSRule
   [-Make <String>]
   [-Model <String>]
   -Variable <Hashtable>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-CMTSRule
   [-ReferencedVariableName <String>]
   [-ReferencedVariableOperator <VariableOperatorType>]
   [-ReferencedVariableValue <String>]
   -Variable <Hashtable>
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Beschreibung

Verwenden Sie dieses Cmdlet, um ein Regelobjekt zu erstellen, das Sie einem Tasksequenzschritt dynamische Variablen festlegen hinzufügen. Verwenden Sie zum Hinzufügen von Regeln die Cmdlets New-CMTSStepSetDynamicVariable oder Set-CMTSStepSetDynamicVariable . Wenn die Tasksequenz diesen Schritt ausführt, wertet sie die dynamischen Regeln und Variablen in der richtigen Reihenfolge aus. Wenn sie die Regeln auf dem bestimmten Gerät auswertet, kann sie dann Tasksequenzvariablen basierend auf diesen Regeln festlegen.

Es gibt vier Arten von Regeln:

  • Computer: Werte für Hardwareassettag, UUID, Seriennummer oder MAC-Adresse aus.
  • Standort: Werte für das Standardnetzwerkgateway aus.
  • Make und Model: Werte für die Herstellung und das Modell eines Computers aus.
  • Tasksequenzvariable: Fügen Sie eine Tasksequenzvariable, eine Bedingung und einen Wert hinzu, die ausgewertet werden sollen.

Weitere Informationen finden Sie unter Dynamische Regeln und Variablen.

Hinweis

Führen Sie Configuration Manager-Cmdlets auf dem Configuration Manager-Standortlaufwerk aus, z. B PS XYZ:\>. . Weitere Informationen finden Sie unter Erste Schritte.

Beispiele

Beispiel 1: Festlegen des Downloadziels in Windows PE

In diesem Beispiel wird die folgende Regel erstellt:

IF _SMSTSInWinPE equals "TRUE" THEN SET OSDDownloadDestinationLocationType = "TSCache"

Anschließend wird diese Regel einer vorhandenen Instanz dieses Schritts in einer Tasksequenz hinzugefügt.

$tsrule = New-CMTSRule -Variable @{'OSDDownloadDestinationLocationType' = 'TSCache'} -ReferencedVariableName "_SMSTSInWinPE" -ReferencedVariableOperator equals -ReferencedVariableValue TRUE

$tsname = "Default IPU"
$tsstep = "Set Dynamic Variables"

Set-CMTSStepSetDynamicVariable -TaskSequenceName $tsname -StepName $tsstep -AddRule $tsrule

Parameter

-AssetTag

Geben Sie ein Asset-Tag für den Regeltyp Computer an. Der Maximalwert beträgt 255 Zeichen.

Wenn Sie diesen Wert beispielsweise auf 123456festlegen, wird die folgende Regel hinzugefügt: IF Asset tag equals "123456" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultGateway

Geben Sie das Standardgateway für den Regeltyp Standort an.

Wenn Sie diesen Wert beispielsweise auf 192.168.10.1festlegen, wird die folgende Regel hinzugefügt: IF Default gateway equals "192.168.10.1" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DisableWildcardHandling

Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ForceWildcardHandling

Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MacAddress

Geben Sie die MAC-Adresse für den Regeltyp Computer an.

Wenn Sie diesen Wert beispielsweise auf 00:11:22:33:44:55festlegen, wird die folgende Regel hinzugefügt: IF MAC address equals "00:11:22:33:44:55" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Make

Geben Sie make für den Regeltyp Make und Model an. Verwenden Sie den Parameter Model , um den anderen Wert festzulegen. Die Regel wertet true aus, wenn beide Werte true sind.

Sie können Ein-/Auslesezeichen verwenden:

  • *: Mehrere Zeichen
  • ?: Einzelnes Zeichen

Wenn Sie z. B. diesen Wert auf Surface und das Modell auf *festlegen, wird die folgende Regel hinzugefügt: IF Make equals "Surface" AND Model equals "*" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Model

Geben Sie das Modell für den Regeltyp Make und Model an. Verwenden Sie den Make-Parameter , um den anderen Wert festzulegen. Die Regel wertet true aus, wenn beide Werte true sind.

Sie können Ein-/Auslesezeichen verwenden:

  • *: Mehrere Zeichen
  • ?: Einzelnes Zeichen

Wenn Sie z. B. diesen Wert auf * und make auf Surfacefestlegen, wird die folgende Regel hinzugefügt: IF Make equals "Surface" AND Model equals "*" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ReferencedVariableName

Geben Sie die Variable für den Regeltyp Tasksequenzvariable an . Dazu müssen Sie auch die Parameter ReferencedVariableOperator und ReferencedVariableValue festlegen.

Bei diesem Variablennamen kann es sich um eine integrierte Oder eine von Ihnen erstellte benutzerdefinierte Tasksequenzvariable handeln. Weitere Informationen finden Sie unter Verwenden von Tasksequenzvariablen in Configuration Manager.

Wenn Sie beispielsweise die folgenden Werte festlegen:

  • ReferencedVariableName: OSDRegisteredOrgName
  • ReferencedVariableOperator: Equals
  • ReferencedVariableValue: Contoso

Anschließend wird die folgende Regel hinzugefügt: IF OSDRegisteredOrgName equals "Contoso" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ReferencedVariableOperator

Geben Sie die Bedingung für den Regeltyp Tasksequenzvariable an . Dazu müssen Sie auch die Parameter ReferencedVariableName und ReferencedVariableValue festlegen. Informationen zu den verfügbaren Operatoren finden Sie in der Liste der akzeptierten Werte für diesen Parameter.

Wenn Sie beispielsweise die folgenden Werte festlegen:

  • ReferencedVariableName: OSDRegisteredOrgName
  • ReferencedVariableOperator: Equals
  • ReferencedVariableValue: Contoso

Anschließend wird die folgende Regel hinzugefügt: IF OSDRegisteredOrgName equals "Contoso" THEN

Typ:VariableOperatorType
Zulässige Werte:Exists, NotExists, Equals, NotEquals, Greater, GreaterEqual, Less, LessEqual, Like, NotLike
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ReferencedVariableValue

Geben Sie den Wert für den Regeltyp Tasksequenzvariable an . Dazu müssen Sie auch die Parameter ReferencedVariableName und ReferencedVariableOperator festlegen.

Wenn Sie beispielsweise die folgenden Werte festlegen:

  • ReferencedVariableName: OSDRegisteredOrgName
  • ReferencedVariableOperator: Equals
  • ReferencedVariableValue: Contoso

Anschließend wird die folgende Regel hinzugefügt: IF OSDRegisteredOrgName equals "Contoso" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SerialNumber

Geben Sie eine Seriennummer für den Regeltyp Computer an.

Wenn Sie diesen Wert beispielsweise auf 123456festlegen, wird die folgende Regel hinzugefügt: IF Asset tag equals "123456" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Uuid

Geben Sie eine UUID für den Regeltyp Computer an.

Wenn Sie diesen Wert beispielsweise auf de5ba380-f692-45e0-bbd3-0e40543b549efestlegen, wird die folgende Regel hinzugefügt: IF UUID equals "de5ba380-f692-45e0-bbd3-0e40543b549e" THEN

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Variable

Geben Sie die vorhandenen oder benutzerdefinierten Tasksequenzvariablen und die zugehörigen Werte an, die der Schritt festlegen soll, wenn die Regel als true ausgewertet wird.

Wenn Sie diesen Wert beispielsweise auf @{'OSDDownloadDestinationLocationType' = 'TSCache'}festlegen, wird die folgende Variable nach dem THEN der Regel hinzugefügt: SET OSDDownloadDestinationLocationType = "TSCache"

Um mehr als eine Variable in derselben Hashtabelle anzugeben, verwenden Sie ein Semikolontrennzeichen (;). Beispiel: @{'OSDRegisteredUserName' = 'Contoso';'OSDRegisteredOrgName' = 'Contoso'}

Typ:Hashtable
Aliase:Variables
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Ausgaben

IResultObject