Freigeben über


Configuration Manager Cmdlet Library-Änderungen für Version 1810

Gilt für: Configuration Manager (aktueller Branch)

Hinweis

Configuration Manager aktuelle Verzweigungsversion 1806 ist der Basisplan für diese Änderungen. Weitere Informationen finden Sie unter Configuration Manager Änderungen der Cmdlet-Bibliothek für Version 1806.

Wichtige Änderungen

Neue Cmdlets

Die folgenden Cmdlets werden hinzugefügt, um Anforderungsregeln für Bereitstellungstypen und globale Bedingungen zu erstellen:

  • New-CMGlobalConditionExpression
  • New-CMRegistryAccessControlEntry
  • New-CMRequirementRuleActiveDirectorySiteValue
  • New-CMRequirementRuleBooleanValue
  • New-CMRequirementRuleCMSiteValue
  • New-CMRequirementRuleCommonValue
  • New-CMRequirementRuleDeviceOwnershipValue
  • New-CMRequirementRuleExistential
  • New-CMRequirementruleExpression
  • New-CMRequirementRuleFileAttributeValue
  • New-CMRequirementRuleFilePermissionValue
  • New-CMRequirementRuleFreeDiskSpaceValue
  • New-CMRequirementRuleInputTypeValue
  • New-CMRequirementRuleOperatingSystemLanguageValue
  • New-CMRequirementRuleOperatingSystemValue
  • New-CMRequirementRuleOUValue
  • New-CMRequirementRuleScreenResolutionValue

Unterstützte Cmdlets für Add und Set-CM*DeploymentType haben Parameter für GroupDetectionClauses und DetectionClauseConnector hinzugefügt.

Beispiele

Erstellen eines einfachen Ausdrucks mit einer Regel
$rule1 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 2048 -RuleOperator GreaterEquals
$myRuleExpression = New-CMRequirementRuleExpression -AddRequirementRule $rule1
$myGC = New-CMGlobalConditionExpression -Name "GCExp" -DeviceType Windows -RootExpression $myRuleExpression
Hinzufügen eines komplexen globalen Bedingungsausdrucks
$ruleProc = Get-CMGlobalCondition -Name "Number of processors" | New-CMRequirementRuleCommonValue -Value1 2 -RuleOperator GreaterEquals
$ruleMem1 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 2048 -RuleOperator GreaterThan
$ruleMem2 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 4096 -RuleOperator LessEquals
$ruleCPUSpeed1 = Get-CMGlobalCondition -Name "CPU Speed" | New-CMRequirementRuleCommonValue -Value1 5120 -RuleOperator LessEquals
$ruleCPUSpeed2 = Get-CMGlobalCondition -Name "CPU Speed" | New-CMRequirementRuleCommonValue -Value1 1024 -RuleOperator GreaterThan
$expressionProc = New-CMRequirementRuleExpression -AddRequirementRule $ruleProc
$expressionMem = New-CMRequirementRuleExpression -AddRequirementRule $ruleMem1, $ruleMem2 -ClauseOperator And
$expressionCPU = New-CMRequirementRuleExpression -AddRequirementRule $ruleCPUSpeed1, $ruleCPUSpeed2 -ClauseOperator And
$myRuleExpression = New-CMRequirementRuleExpression -RootExpression $expressionProc -AddExpression $expressionMem,$expressionCPU -ClauseOperator And -AddAsGroup -GroupOperator Or
$myGC = New-CMGlobalConditionExpression -Name "GCExp" -DeviceType Windows -RootExpression $myRuleExpression
Hinzufügen einer Sprachregel
$myGC = Get-CMGlobalCondition -Name "Operating System Language" | Where-Object PlatformType -eq 1
$cultureA = [System.Globalization.CultureInfo]::GetCultures([System.Globalization.CultureTypes]::AllCultures) | Where-Object Name -eq "zh"
$cultureB = [System.Globalization.CultureInfo]::GetCultures([System.Globalization.CultureTypes]::AllCultures) | Where-Object Name -eq "zh-CN"
$myRule = $myGC | New-CMRequirementRuleOperatingSystemLanguageValue -RuleOperator NoneOf -Culture $cultureA,$cultureB -IsMobile $False
Set-CMScriptDeploymentType -ApplicationName "myApp" -DeploymentTypeName "myDT" -AddRequirement $myRule
Erstellen Sie einen einfachen Ausdruck mit einer Regel.
$clauseFile1 = New-CMDetectionClauseFile -FileName "abc" -Path "c:\abc" -PropertyType Size -ExpectedValue 1024 -ExpressionOperator IsEquals -Value
$clauseFile2 = New-CMDetectionClauseFile -FileName "abc" -Path "c:\abc" -PropertyType Size -ExpectedValue 2048 -ExpressionOperator IsEquals -Value
$clauseFile3 = New-CMDetectionClauseFile -FileName "abc" -Path "c:\abc" -PropertyType Size -ExpectedValue 4096 -ExpressionOperator IsEquals -Value

Set-CMScriptDeploymentType -ApplicationName "testApp1" -DeploymentTypeName "abc" -AddDetectionClause $clauseFile1,$clauseFile2,$clauseFile3 -DetectionClauseConnector @{"LogicalName"=$clauseFile3.Setting.LogicalName;"Connector"="OR"} -GroupDetectionClauses $clauseFile2.Setting.LogicalName, $clauseFile3.Setting.LogicalName

Entfernte Cmdlets

Keine

Veraltete Cmdlets

Keine

Bekannte Probleme

Die folgenden Elemente sind bekannte Probleme mit der Cmdlet-Bibliothek, die in dieser Version nicht behoben wurden.

Get-CMAadConditionalAccessPolicy und Set-CMAadConditionalAccessPolicy

Für diese Cmdlets ist eine 64-Bit-PowerShell-Umgebung erforderlich.

Problemumgehung

  • Keine

Import-CMSecurityRole

Cmdlet kann mit einem DirectoryNotFoundException-Fehler beim Suchen der Datei SecuredRoles.xsdfehlschlagen.

Problemumgehung

  • Aufrufen Import-Module der ConfigurationManager.psd1 Datei und nicht des logischen Pfads oder Modulnamens.

Set-CMSoftwareUpdatePoint

Änderungen am Zeitplan werden in der Configuration Manager Konsole möglicherweise nicht angezeigt, obwohl das zugrunde liegende SMS-Anbieterobjekt geändert wurde.

Problemumgehung

  • Beenden Sie die Configuration Manager Konsole, und starten Sie sie erneut.

Ressourcenverfolgung und -wiederherstellung (Beta)

Diese Version fügt neue Cmdlets hinzu, um das Nachverfolgen von SMS-Anbieterobjekten zu unterstützen, die von der PowerShell-Laufzeit verwendet werden, und um diese Ressourcen zu bereinigen, wenn sie nicht mehr benötigt werden.

  • Disconnect-CMTrackedObject
  • Start-CMObjectTracking
  • Stop-CMObjectTracking

Wenn Sie ausführen Start-CMObjectTracking, verfolgt IResultObject die PowerShell-Laufzeit Objekte nach, die von Cmdlet Library-Cmdlets erstellt wurden. Für Cmdlets, die nicht manuell bereinigt werden, .Dispose()können Sie sie mithilfe Disconnect-CMTrackedObject eines einzelnen Objekts freigeben.

Beispiel

# Reclaim a single tracked object
$o | Disconnect-CMTrackedObject

# Reclaim all tracked objects
Disconnect-CMTrackedObject -All

Nachdem ein Objekt freigegeben wurde, kann es nicht mehr wiederverwendet oder über die Objektpipeline an ein anderes Cmdlet übergeben werden.

Stop-CMObjectTracking kann verwendet werden, um die Objektnachverfolgung zu deaktivieren. Zuvor zugewiesene Objekte bleiben aktiv.

Nicht beanspruchte Ressourcen können dazu führen, dass der SMS-Anbieter Fehler bei Kontingentverletzungen auslöst. Diese Kontingentprobleme zeigen sich in der Regel in der Arbeit mit großen Sätzen von SMS-Anbieterobjekten oder in langlebigen Umgebungen.

Hinweis

Dieses Feature ist experimentell und kann in einer zukünftigen Version geändert oder entfernt werden. Es ist opt-in und ist nicht standardmäßig aktiviert.

Cmdlet-Änderungen

Die folgenden Änderungen wurden an vorhandenen Cmdlets in dieser Version vorgenommen. Änderungen können neue Funktionen, Fehlerbehebungen oder veraltete Funktionen sein. Einige Änderungen können zu Bruch gehen. Wenn Sie eines der in diesem Abschnitt aufgeführten Cmdlets oder Featurebereiche verwenden, überprüfen Sie sorgfältig die Änderungen, um zu verstehen, wie sich diese auf Ihre Verwendung auswirken können.

Add-CMDistributionPoint

Unterbrechungsfreie Änderungen

  • Neuer EnableLedbat-Parameter zum Aktivieren von LEDBAT für einen Verteilungspunkt

Add-CMIntuneSubscription

Behobene Fehler

  • CompanyLogoPath oder CompanyLogoThemedPath kann nicht auf Grafiken festgelegt werden, die größer als 400 x 100 und 750 KB sind.

Add-CMManagementPoint

Behobene Fehler

  • Wenn EnableCloudGateway ist $true, kann CommunicationType auf einen nicht unterstützten Wert von Http

Clear-CMPxeDeployment

Behobene Fehler

  • Cmdlet löscht keine PXE-Bereitstellungen

Get-CMDevice

Behobene Fehler

  • Cmdlet gibt möglicherweise keine erwarteten Eigenschaften für ein Gerät zurück.

Get-CMHierarchySetting

Unterbrechungsfreie Änderungen

  • Cmdlet gibt jetzt Einstellungen für Clientupgrade und Nutzungsdaten zurück.

New-CMAntimalwarePolicyDeployment

Behobene Fehler

  • Cmdlet ermöglicht die Angabe einer Benutzersammlung als Bereitstellungsziel

New-CMComplianceRuleExistential

Unterbrechungsfreie Änderungen

  • Der Parameter "ExpectedValue " ermöglicht jetzt negative Zahlen.

New-CMConfigurationPolicyuDeployment

Behobene Fehler

  • Der Parameter "PostponeDateTime " ist nicht in allen Parametersätzen verfügbar.

New-CMUserDataAndProfileConfigurationItem

Behobene Fehler

  • Kann nicht mit dem Parameter DetectSlowLinkDisabled verwendet $false werden
  • Einige Parameter können nicht festgelegt werden, wenn DetectSlowLink$true

New-CMWirelessProfile

Unterbrechungsfreie Änderungen

  • Kann jetzt "Fast" mit EapType-Parameter verwenden
  • Der neue Parameter "RememberUserCredentials " kann zum Festlegen oder Löschen von Anmeldeinformationen verwendet werden.

Veraltete Funktionen

  • Der Parameter "RememberCredentials" wurde von RememberUserCredentials abgelöst.

Set-CMComplianceRuleExistential

Unterbrechungsfreie Änderungen

  • Der Parameter "ExpectedValue " ermöglicht jetzt negative Zahlen.

Set-CMDistributionPoint

Unterbrechungsfreie Änderungen

  • Neuer EnableLedbat-Parameter zum Konfigurieren von LEDBAT für einen Verteilungspunkt

Set-CMHierarchySetting

Unterbrechungsfreie Änderungen

  • Neuer TelemetryLevel-Parameter zum Konfigurieren von Nutzungsdateneinstellungen

Set-CMIntuneSubscription

Behobene Fehler

  • CompanyLogoPath oder CompanyLogoThemedPath kann nicht auf Grafiken festgelegt werden, die größer als 400 x 100 und 750 KB sind.

Set-CMManagementPoint

Behobene Fehler

  • Wenn EnableCloudGateway ist $true, kann CommunicationType auf einen nicht unterstützten Wert von Http

Set-CMMsiDeploymentType

Behobene Fehler

  • AddDetectionClause-Parameter löscht zuvor vorhandene MSI-Produktcodeerkennungsklausel
  • Der AddRequirement-Parameter kann mit "SQL_ERROR" fehlschlagen.

Unterbrechungsfreie Änderungen

  • Neue Parameter "GroupDetectionClauses " und " DetectionClauseConnector " zum Gruppieren von Erkennungsklauseln

Set-CMSoftwareUpdatePointComponent

Unterbrechungsfreie Änderungen

  • Neue Parameter zum Konfigurieren von Feature- und Nicht-Feature-Übergängen hinzugefügt
  • Neuer Parameter "ImmediatelyExpireSupersedenceForFeature " zum sofortigen Ablaufen ersetzter Updates
  • Neuer WaitForMonthFeature-Parameter zum Konfigurieren der Ablaufdauer ersetzter Updates

Set-CMTSStepJoinDomainWorkgroup

Behobene Fehler

  • Der Parameter "UserName " unterstützt %VARIABLE% kein Format.

Set-CMTSStepCaptureUserState

Unterbrechungsfreie Änderungen

  • Cmdlet warnt jetzt, wenn AddConfigFile verwendet wird und ModeOptionStandard

Set-CMUserDataAndProfileConfigurationItem

Unterbrechungsfreie Änderungen

  • Cmdlet warnt jetzt, wenn SlowLink- und SyncMins-Parameter verwendet werden, wenn EnableSlowLink$false

Set-CMWirelessProfile

Unterbrechungsfreie Änderungen

  • Kann jetzt "Fast" mit EapType-Parameter verwenden
  • Der neue Parameter "RememberUserCredentials " kann zum Festlegen oder Löschen von Anmeldeinformationen verwendet werden.

Veraltete Funktionen

  • Der Parameter "RememberCredentials" wurde von RememberUserCredentials abgelöst.

Start-CMAntimalwarePolicyDeployment

Behobene Fehler

  • Cmdlet ermöglicht die Angabe einer Benutzersammlung als Bereitstellungsziel