Configuration Manager da Biblioteca de Cmdlets da versão 1810

Aplica-se ao: Gerenciador de Configurações (Ramificação Atual)

Observação

Configuration Manager branch atual versão 1806 é a linha de base para essas alterações. Para obter mais informações, consulte Configuration Manager biblioteca de cmdlets para a versão 1806.

Alterações importantes

Novos cmdlets

Os cmdlets a seguir são adicionados para criar regras de requisito para tipos de implantação e condições globais:

  • 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

Os cmdlets com suporte para Add e Set-CM*DeploymentType adicionaram parâmetros para GroupDetectionClauses e DetectionClauseConnector.

Exemplos

Criar uma expressão simples com uma regra
$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
Adicionar uma expressão de condição global complexa
$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
Adicionar uma regra 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
Crie uma expressão simples com uma regra.
$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 removidos

Nenhum

Cmdlets preteridos

Nenhum

Problemas conhecidos

Os itens a seguir são problemas conhecidos com a Biblioteca de Cmdlets que não são resolvidos nesta versão.

Get-CMAadConditionalAccessPolicy e Set-CMAadConditionalAccessPolicy

Esses cmdlets exigem um ambiente do PowerShell de 64 bits.

Solução alternativa

  • Nenhum

Import-CMSecurityRole

O cmdlet pode falhar com um erro DirectoryNotFoundException localizando o arquivo SecuredRoles.xsd.

Solução alternativa

  • Chame Import-Module o arquivo ConfigurationManager.psd1 e não o caminho lógico ou o nome do módulo.

Set-CMSoftwareUpdatePoint

As alterações no Agendamento podem não ser mostradas no console Configuration Manager mesmo que o objeto do Provedor de SMS subjacente tenha sido alterado.

Solução alternativa

  • Saia e reiniciar o Configuration Manager console.

Acompanhamento e recuperação de recursos (beta)

Esta versão adiciona novos cmdlets para dar suporte ao acompanhamento de objetos do Provedor de SMS usados pelo runtime do PowerShell e para limpar esses recursos quando eles não forem mais necessários.

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

Quando você executa, Start-CMObjectTrackingo runtime do PowerShell rastreia IResultObject objetos criados pelos cmdlets da Biblioteca de Cmdlets. Para cmdlets que não são limpos manualmente .Dispose(), recupere-os usando-os Disconnect-CMTrackedObject em um objeto individual.

Exemplo

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

# Reclaim all tracked objects
Disconnect-CMTrackedObject -All

Depois que um objeto é recuperado, ele não pode mais ser reutilizados ou passados para outro cmdlet por meio do pipeline de objeto.

Stop-CMObjectTracking pode ser usado para desativar o acompanhamento de objetos. Os objetos alocados anteriormente permanecem ativos.

Recursos não declarados podem fazer com que o Provedor de SMS gere erros de violação de cota. Esses problemas de cota normalmente se manifestam do trabalho com grandes conjuntos de objetos do Provedor de SMS ou em ambientes de execução longa.

Observação

Esse recurso é experimental e pode estar sujeito a alterações ou remoção em uma versão futura. Ele é aceito e não está habilitado por padrão.

Alterações de cmdlet

As alterações a seguir foram feitas nos cmdlets existentes nesta versão. As alterações podem ser novas funcionalidades, correções de bugs ou substituição. Algumas alterações podem estar falhando. Se você usar um dos cmdlets ou áreas de recursos listadas nesta seção, examine cuidadosamente as alterações para entender como elas podem afetar seu uso.

Add-CMDistributionPoint

Alterações sem interrupção

  • Novo parâmetro EnableLedbat para habilitar o LEDBAT para um ponto de distribuição

Add-CMIntuneSubscription

Bugs que foram corrigidos

  • Não é possível definir CompanyLogoPath ou CompanyLogoThemedPath como obras de arte maiores que 400 x 100 e 750 KB

Add-CMManagementPoint

Bugs que foram corrigidos

  • Se EnableCloudGateway for $true, poderá definir CommunicationType como valor sem suporte de Http

Clear-CMPxeDeployment

Bugs que foram corrigidos

  • O cmdlet não limpa implantações PXE

Get-CMDevice

Bugs que foram corrigidos

  • O cmdlet pode não retornar as propriedades esperadas para um dispositivo

Get-CMHierarchySetting

Alterações sem interrupção

  • O cmdlet agora retorna as configurações de dados de uso e atualização do cliente

New-CMAntimalwarePolicyDeployment

Bugs que foram corrigidos

  • O cmdlet permite que uma coleção de usuários seja especificada como um destino de implantação

New-CMComplianceRuleExistential

Alterações sem interrupção

  • O parâmetro ExpectedValue agora permite números negativos

New-CMConfigurationPolicyuDeployment

Bugs que foram corrigidos

  • Parâmetro PostponeDateTime não disponível em todos os conjuntos de parâmetros

New-CMUserDataAndProfileConfigurationItem

Bugs que foram corrigidos

  • Não é possível usar com $false o parâmetro DetectSlowLinkDisabled
  • Alguns parâmetros não podem ser definidos quando DetectSlowLink é $true

New-CMWirelessProfile

Alterações sem interrupção

  • Agora pode usar 'Fast' com o parâmetro EapType
  • O novo parâmetro RememberUserCredentials pode ser usado para definir ou limpar credenciais.

Preterições

  • O parâmetro RememberCredentials foi substituído por RememberUserCredentials

Set-CMComplianceRuleExistential

Alterações sem interrupção

  • O parâmetro ExpectedValue agora permite números negativos

Set-CMDistributionPoint

Alterações sem interrupção

  • Novo parâmetro EnableLedbat para configurar o LEDBAT para um ponto de distribuição

Set-CMHierarchySetting

Alterações sem interrupção

  • Novo parâmetro TelemetryLevel para definir as configurações de dados de uso

Set-CMIntuneSubscription

Bugs que foram corrigidos

  • Não é possível definir CompanyLogoPath ou CompanyLogoThemedPath como obras de arte maiores que 400 x 100 e 750 KB

Set-CMManagementPoint

Bugs que foram corrigidos

  • Se EnableCloudGateway for $true, poderá definir CommunicationType como valor sem suporte de Http

Set-CMMsiDeploymentType

Bugs que foram corrigidos

  • O parâmetro AddDetectionClause limpa a cláusula de detecção de código de produto MSI existente anteriormente
  • O parâmetro AddRequirement pode falhar com "SQL_ERROR"

Alterações sem interrupção

  • Novos parâmetros GroupDetectionClauses e DetectionClauseConnector para cláusulas de detecção de agrupamento

Set-CMSoftwareUpdatePointComponent

Alterações sem interrupção

  • Adicionados novos parâmetros para configurar a substituição de recursos e não recursos
  • Novo parâmetro ImmediatelyExpireSupersedenceForFeature para expirar imediatamente as atualizações substituídas
  • Novo parâmetro WaitForMonthFeature para configurar por quanto tempo expirar as atualizações substituídas

Set-CMTSStepJoinDomainWorkgroup

Bugs que foram corrigidos

  • O parâmetro UserName não dá suporte ao formato %VARIABLE%

Set-CMTSStepCaptureUserState

Alterações sem interrupção

  • O cmdlet agora avisa quando AddConfigFile é usado e ModeOption é Standard

Set-CMUserDataAndProfileConfigurationItem

Alterações sem interrupção

  • O cmdlet agora avisa quando os parâmetros SlowLink e SyncMins são usados quando EnableSlowLink é $false

Set-CMWirelessProfile

Alterações sem interrupção

  • Agora pode usar 'Fast' com o parâmetro EapType
  • O novo parâmetro RememberUserCredentials pode ser usado para definir ou limpar credenciais.

Preterições

  • O parâmetro RememberCredentials foi substituído por RememberUserCredentials

Start-CMAntimalwarePolicyDeployment

Bugs que foram corrigidos

  • O cmdlet permite que uma coleção de usuários seja especificada como um destino de implantação