Configuration Manager cambios en la biblioteca de cmdlets de la versión 1810
Se aplica a: ConfigurationManager (rama actual)
Nota
Configuration Manager rama actual, versión 1806, es la línea base de estos cambios. Para obtener más información, consulte Configuration Manager cambios de biblioteca de cmdlets para la versión 1806.
Cambios importantes
Cmdlets nuevos
Los cmdlets siguientes se agregan para crear reglas de requisitos para los tipos de implementación y las condiciones 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
Los cmdlets admitidos para Add y Set-CM*DeploymentType han agregado parámetros para GroupDetectionClauses y DetectionClauseConnector.
Ejemplos
Creación de una expresión simple con una regla
$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
Adición de una expresión de condición global compleja
$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
Adición de una regla de idioma
$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
Cree una expresión simple con una regla.
$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
Cmdlets quitados
Ninguno
Cmdlets en desuso
Ninguno
Problemas conocidos
Los siguientes elementos son problemas conocidos con la biblioteca de cmdlets que no se resuelven en esta versión.
Get-CMAadConditionalAccessPolicy y Set-CMAadConditionalAccessPolicy
Estos cmdlets requieren un entorno de PowerShell de 64 bits.
Solución alternativa
- Ninguno
Import-CMSecurityRole
El cmdlet puede producir un error de DirectoryNotFoundException al buscar el archivo SecuredRoles.xsd
.
Solución alternativa
- Llame al
Import-Module
ConfigurationManager.psd1
archivo y no a la ruta de acceso lógica ni al nombre del módulo.
Set-CMSoftwareUpdatePoint
Es posible que los cambios en la programación no se muestren en la consola de Configuration Manager aunque se haya cambiado el objeto proveedor de SMS subyacente.
Solución alternativa
- Cierre y vuelva a iniciar la consola de Configuration Manager.
Seguimiento y recuperación de recursos (beta)
Esta versión agrega nuevos cmdlets para admitir el seguimiento de objetos de proveedor de SMS usados por el entorno de ejecución de PowerShell y para limpiar estos recursos cuando ya no se necesiten.
- Disconnect-CMTrackedObject
- Start-CMObjectTracking
- Stop-CMObjectTracking
Al ejecutar Start-CMObjectTracking
, el entorno de ejecución de PowerShell realiza un seguimiento de los IResultObject
objetos creados por los cmdlets de la biblioteca de cmdlets. En el caso de los cmdlets que no se limpian manualmente con .Dispose()
, reclamelos mediante Disconnect-CMTrackedObject
un objeto individual.
Ejemplo
# Reclaim a single tracked object
$o | Disconnect-CMTrackedObject
# Reclaim all tracked objects
Disconnect-CMTrackedObject -All
Una vez reclamado un objeto, ya no se puede reutilizar ni pasar a otro cmdlet a través de la canalización de objetos.
Stop-CMObjectTracking
se puede usar para desactivar el seguimiento de objetos. Los objetos asignados anteriormente permanecen activos.
Los recursos no reclamados pueden hacer que el proveedor de SMS genere errores de infracción de cuota. Estos problemas de cuota suelen manifestarse al trabajar con grandes conjuntos de objetos de proveedor de SMS o en entornos de larga duración.
Nota
Esta característica es experimental y puede estar sujeta a cambios o eliminaciones en una versión futura. Está habilitada y no está habilitada de forma predeterminada.
Cambios en el cmdlet
Se han realizado los siguientes cambios en los cmdlets existentes en esta versión. Los cambios pueden ser nuevas funciones, correcciones de errores o desuso. Algunos cambios pueden estar rompiendo. Si usa uno de los cmdlets o áreas de características que se enumeran en esta sección, revise cuidadosamente los cambios para comprender cómo pueden afectar al uso.
Add-CMDistributionPoint
Cambios no importantes
- Nuevo parámetro EnableLedbat para habilitar LEDBAT para un punto de distribución
Add-CMIntuneSubscription
Errores corregidos
- No se puede establecer CompanyLogoPath o CompanyLogoThemedPath en ilustraciones de más de 400 x 100 y 750 KB
Add-CMManagementPoint
Errores corregidos
- Si EnableCloudGateway es
$true
, puede establecer CommunicationType en el valor no admitido de .Http
Clear-CMPxeDeployment
Errores corregidos
- El cmdlet no borra las implementaciones de PXE
Get-CMDevice
Errores corregidos
- Es posible que el cmdlet no devuelva las propiedades esperadas para un dispositivo.
Get-CMHierarchySetting
Cambios no importantes
- El cmdlet ahora devuelve la configuración de datos de uso y actualización de cliente
New-CMAntimalwarePolicyDeployment
Errores corregidos
- El cmdlet permite especificar una colección de usuarios como destino de implementación
New-CMComplianceRuleExistential
Cambios no importantes
- El parámetro ExpectedValue ahora permite números negativos
New-CMConfigurationPolicyuDeployment
Errores corregidos
- El parámetro PostponeDateTime no está disponible en todos los conjuntos de parámetros
New-CMUserDataAndProfileConfigurationItem
Errores corregidos
- No se puede usar
$false
con el parámetro DetectSlowLinkDisabled - Algunos parámetros no se pueden establecer cuando DetectSlowLink es
$true
New-CMWirelessProfile
Cambios no importantes
- Ahora se puede usar 'Fast' con el parámetro EapType
- Se puede usar el nuevo parámetro RememberUserCredentials para establecer o borrar credenciales.
Avisos de desuso
- El parámetro RememberCredentials se ha reemplazado por RememberUserCredentials.
Set-CMComplianceRuleExistential
Cambios no importantes
- El parámetro ExpectedValue ahora permite números negativos
Set-CMDistributionPoint
Cambios no importantes
- Nuevo parámetro EnableLedbat para configurar LEDBAT para un punto de distribución
Set-CMHierarchySetting
Cambios no importantes
- Nuevo parámetro TelemetryLevel para configurar la configuración de datos de uso
Set-CMIntuneSubscription
Errores corregidos
- No se puede establecer CompanyLogoPath o CompanyLogoThemedPath en ilustraciones de más de 400 x 100 y 750 KB
Set-CMManagementPoint
Errores corregidos
- Si EnableCloudGateway es
$true
, puede establecer CommunicationType en el valor no admitido de .Http
Set-CMMsiDeploymentType
Errores corregidos
- El parámetro AddDetectionClause borra la cláusula de detección de código de producto MSI existente anteriormente.
- El parámetro AddRequirement puede producir un error con "SQL_ERROR"
Cambios no importantes
- Nuevos parámetros GroupDetectionClauses y DetectionClauseConnector para agrupar cláusulas de detección
Set-CMSoftwareUpdatePointComponent
Cambios no importantes
- Se han agregado nuevos parámetros para configurar la sustitución de características y no características
- Nuevo parámetro ImmediatelyExpireSupersedenceForFeature para expirar inmediatamente las actualizaciones sustituidas
- Nuevo parámetro WaitForMonthFeature para configurar cuánto tiempo expirarán las actualizaciones sustituidas
Set-CMTSStepJoinDomainWorkgroup
Errores corregidos
- El parámetro UserName no admite
%VARIABLE%
el formato
Set-CMTSStepCaptureUserState
Cambios no importantes
- El cmdlet ahora advierte cuando se usa AddConfigFile y ModeOption es
Standard
Set-CMUserDataAndProfileConfigurationItem
Cambios no importantes
- El cmdlet ahora advierte cuando se usan los parámetros SlowLink y SyncMins cuando EnableSlowLink es
$false
Set-CMWirelessProfile
Cambios no importantes
- Ahora se puede usar 'Fast' con el parámetro EapType
- Se puede usar el nuevo parámetro RememberUserCredentials para establecer o borrar credenciales.
Avisos de desuso
- El parámetro RememberCredentials se ha reemplazado por RememberUserCredentials.
Start-CMAntimalwarePolicyDeployment
Errores corregidos
- El cmdlet permite especificar una colección de usuarios como destino de implementación