Configuration Manager modifications apportées à la bibliothèque d’applets de commande pour la version 1810
S’applique à : Gestionnaire de configuration (branche actuelle)
Notes
Configuration Manager current branch version 1806 est la base de référence pour ces modifications. Pour plus d’informations, consultez Configuration Manager modifications apportées à la bibliothèque d’applets de commande pour la version 1806.
Modifications importantes
Nouvelles applets de commande
Les applets de commande suivantes sont ajoutées pour créer des règles d’exigence pour les types de déploiement et les conditions globales :
- 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
Les applets de commande prises en charge pour Add et Set-CM*DeploymentType ont ajouté des paramètres pour GroupDetectionClauses et DetectionClauseConnector.
Exemples
Créer une expression simple avec une règle
$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
Ajouter une expression de condition globale complexe
$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
Ajouter une règle de langue
$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
Créez une expression simple avec une règle.
$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
Applets de commande supprimées
Aucun
Applets de commande déconseillées
Aucun
Problèmes connus
Les éléments suivants sont des problèmes connus avec la bibliothèque d’applets de commande qui ne sont pas résolus dans cette version.
Get-CMAadConditionalAccessPolicy et Set-CMAadConditionalAccessPolicy
Ces applets de commande nécessitent un environnement PowerShell 64 bits.
Solution de contournement
- Aucun
Import-CMSecurityRole
L’applet de commande peut échouer avec une erreur DirectoryNotFoundException qui trouve le fichier SecuredRoles.xsd
.
Solution de contournement
- Appeler
Import-Module
leConfigurationManager.psd1
fichier, et non le chemin logique ou le nom du module.
Set-CMSoftwareUpdatePoint
Les modifications apportées à Schedule peuvent ne pas être affichées dans la console Configuration Manager même si l’objet fournisseur SMS sous-jacent a été modifié.
Solution de contournement
- Quittez et relancez la console Configuration Manager.
Suivi et récupération des ressources (bêta)
Cette version ajoute de nouvelles applets de commande pour prendre en charge le suivi des objets fournisseur SMS utilisés par le runtime PowerShell et pour nettoyer ces ressources quand elles ne sont plus nécessaires.
- Disconnect-CMTrackedObject
- Start-CMObjectTracking
- Stop-CMObjectTracking
Lorsque vous exécutez Start-CMObjectTracking
, le runtime PowerShell effectue le suivi des objets créés IResultObject
par les applets de commande de la bibliothèque d’applets de commande. Pour les applets de commande qui ne sont pas nettoyées manuellement avec .Dispose()
, récupérez-les à l’aide Disconnect-CMTrackedObject
d’un objet individuel.
Exemple
# Reclaim a single tracked object
$o | Disconnect-CMTrackedObject
# Reclaim all tracked objects
Disconnect-CMTrackedObject -All
Une fois qu’un objet est récupéré, il ne peut plus être réutilisé ou transmis à une autre applet de commande via le pipeline d’objet.
Stop-CMObjectTracking
peut être utilisé pour désactiver le suivi des objets. Les objets précédemment alloués restent actifs.
Les ressources non réclamées peuvent entraîner l’augmentation des erreurs de violation de quota par le fournisseur SMS. Ces problèmes de quota se manifestent généralement par l’utilisation de grands ensembles d’objets fournisseur SMS ou dans des environnements de longue durée.
Notes
Cette fonctionnalité est expérimentale et peut être modifiée ou supprimée dans une version ultérieure. Il est activé et n’est pas activé par défaut.
Modifications apportées à l’applet de commande
Les modifications suivantes ont été apportées aux applets de commande existantes dans cette version. Les modifications peuvent être de nouvelles fonctionnalités, des correctifs de bogues ou une dépréciation. Certains changements peuvent être cassants. Si vous utilisez l’une des applets de commande ou des zones de fonctionnalité répertoriées dans cette section, examinez attentivement les modifications pour comprendre comment elles peuvent affecter votre utilisation.
Add-CMDistributionPoint
Changements non cassants
- Nouveau paramètre EnableLedbat pour activer LEDBAT pour un point de distribution
Add-CMIntuneSubscription
Bogues résolus
- Impossible de définir CompanyLogoPath ou CompanyLogoThemedPath sur une œuvre d’art supérieure à 400 x 100 et 750 Ko
Add-CMManagementPoint
Bogues résolus
- Si EnableCloudGateway est
$true
activé, peut définir CommunicationType sur la valeur non prise en charge deHttp
Clear-CMPxeDeployment
Bogues résolus
- L’applet de commande n’efface pas les déploiements PXE
Get-CMDevice
Bogues résolus
- L’applet de commande peut ne pas retourner les propriétés attendues pour un appareil
Get-CMHierarchySetting
Changements non cassants
- L’applet de commande retourne désormais les paramètres de données de mise à niveau et d’utilisation du client
New-CMAntimalwarePolicyDeployment
Bogues résolus
- L’applet de commande permet de spécifier une collection d’utilisateurs en tant que cible de déploiement
New-CMComplianceRuleExistential
Changements non cassants
- Le paramètre ExpectedValue autorise désormais les nombres négatifs
New-CMConfigurationPolicyuDeployment
Bogues résolus
- Paramètre PostponeDateTime non disponible dans tous les jeux de paramètres
New-CMUserDataAndProfileConfigurationItem
Bogues résolus
- Impossible d’utiliser
$false
avec le paramètre DetectSlowLinkDisabled - Certains paramètres ne peuvent pas être définis lorsque DetectSlowLink est
$true
New-CMWirelessProfile
Changements non cassants
- Peut désormais utiliser « Fast » avec le paramètre EapType
- Le nouveau paramètre RememberUserCredentials peut être utilisé pour définir ou effacer les informations d’identification.
Dépréciations
- Le paramètre RememberCredentials a été remplacé par RememberUserCredentials
Set-CMComplianceRuleExistential
Changements non cassants
- Le paramètre ExpectedValue autorise désormais les nombres négatifs
Set-CMDistributionPoint
Changements non cassants
- Nouveau paramètre EnableLedbat pour configurer LEDBAT pour un point de distribution
Set-CMHierarchySetting
Changements non cassants
- Nouveau paramètre TelemetryLevel pour la configuration des paramètres de données d’utilisation
Set-CMIntuneSubscription
Bogues résolus
- Impossible de définir CompanyLogoPath ou CompanyLogoThemedPath sur des œuvres d’art supérieures à 400 x 100 et 750 Ko
Set-CMManagementPoint
Bogues résolus
- Si EnableCloudGateway est
$true
activé, peut définir CommunicationType sur la valeur non prise en charge deHttp
Set-CMMsiDeploymentType
Bogues résolus
- Le paramètre AddDetectionClause efface la clause de détection de code de produit MSI existante
- Le paramètre AddRequirement peut échouer avec « SQL_ERROR »
Changements non cassants
- Nouveaux paramètres GroupDetectionClauses et DetectionClauseConnector pour le regroupement des clauses de détection
Set-CMSoftwareUpdatePointComponent
Changements non cassants
- Ajout de nouveaux paramètres pour configurer la remplacement des fonctionnalités et des non-fonctionnalités
- Nouveau paramètre ImmediatelyExpireSupersedenceForFeature pour expirer immédiatement des mises à jour remplacées
- Nouveau paramètre WaitForMonthFeature pour configurer la durée d’expiration des mises à jour remplacées
Set-CMTSStepJoinDomainWorkgroup
Bogues résolus
- Le paramètre UserName ne prend pas en charge le
%VARIABLE%
format
Set-CMTSStepCaptureUserState
Changements non cassants
- L’applet de commande avertit maintenant quand AddConfigFile est utilisé et que ModeOption est
Standard
Set-CMUserDataAndProfileConfigurationItem
Changements non cassants
- L’applet de commande avertit maintenant quand les paramètres SlowLink et SyncMins sont utilisés quand EnableSlowLink est
$false
Set-CMWirelessProfile
Changements non cassants
- Peut désormais utiliser « Fast » avec le paramètre EapType
- Le nouveau paramètre RememberUserCredentials peut être utilisé pour définir ou effacer les informations d’identification.
Dépréciations
- Le paramètre RememberCredentials a été remplacé par RememberUserCredentials
Start-CMAntimalwarePolicyDeployment
Bogues résolus
- L’applet de commande permet de spécifier une collection d’utilisateurs en tant que cible de déploiement