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.xsd
fehlschlagen.
Problemumgehung
- Aufrufen
Import-Module
derConfigurationManager.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 vonHttp
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 vonHttp
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 ModeOption
Standard
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