Compartir a través de


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