Share via


Alterações na Biblioteca Cmdlet do Gestor de Configuração para a versão 1810

Aplica-se a: Gestor de Configuração (Filial Atual)

Nota

A versão atual do bloco de configuração 1806 é a linha de base para estas alterações. Para obter mais informações, consulte as alterações da Biblioteca Cmdlet do Gestor de Configuração para a versão 1806.

Mudanças importantes

Novos cmdlets

São adicionados os seguintes cmdlets para criar regras de exigência para os 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 suportados para adicionar e definir-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
Adicione uma expressão complexa da condição global
$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 linguagem
$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
Criar 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 preprecados

Nenhum

Problemas conhecidos

Os seguintes itens são conhecidos problemas com a Biblioteca Cmdlet que não são resolvidos nesta versão.

Get-CMAadConditionalAccessPolicy e Set-CMAadConditionalAccessPolicy

Estes cmdlets requerem um ambiente PowerShell de 64 bits.

Solução

  • Nenhum

Import-CMSecurityRole

O Cmdlet pode falhar com um erro do DirectoryNotFoundException que localiza o ficheiro SecuredRoles.xsd .

Solução

  • Ligue Import-Module contra o ConfigurationManager.psd1 ficheiro, e não o caminho lógico ou nome do módulo.

Set-CMSoftwareUpdatePoint

As alterações ao Horário podem não ser apresentadas na consola Do Gestor de Configuração, mesmo que o objeto subjacente ao Fornecedor de SMS tenha sido alterado.

Solução

  • Desista e relançe a consola Do Gestor de Configuração.

Rastreio e recuperação de recursos (beta)

Esta versão adiciona novos cmdlets para suportar o rastreio de sms provider objetos usados pelo tempo de execução PowerShell, e para limpar estes recursos quando já não são necessários.

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

Quando Start-CMObjectTracking funciona, o tempo de execução PowerShell rastreia IResultObject os objetos criados pelos cmdlets da Biblioteca Cmdlet. Para os cmdlets que não são limpos .Dispose() manualmente, reclame-os Disconnect-CMTrackedObject utilizando-os contra um objeto individual.

Exemplo

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

# Reclaim all tracked objects
Disconnect-CMTrackedObject -All

Uma vez recuperado um objeto, não pode mais ser reutilizado ou passado para outro cmdlet através do oleoduto do objeto.

Stop-CMObjectTracking pode ser usado para desligar o rastreio de objetos. Os objetos previamente atribuídos permanecem ativos.

Os recursos não reclamados podem fazer com que o Fornecedor de SMS aumente os erros de violação de quotas. Estas questões de quota manifestam-se tipicamente de trabalhar com grandes conjuntos de objetos do Fornecedor de SMS ou em ambientes de longa duração.

Nota

Esta funcionalidade é experimental e pode estar sujeita a alterações ou remoção numa versão futura. É opt-in e não é habilitado por defeito.

Alterações do Cmdlet

Foram feitas as seguintes alterações aos cmdlets existentes nesta versão. As alterações podem ser novas funcionalidades, correções de erros ou depreciação. Algumas mudanças podem estar a rebentar. Se utilizar um dos cmdlets ou áreas de funcionalidade listadas nesta secção, reveja cuidadosamente as alterações para entender como podem afetar a sua utilização.

Add-CMDistributionPoint

Alterações não-quebrando

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

Add-CMIntuneSubscription

Insetos que foram corrigidos

  • Não é possível definir a EmpresaLogoPath ou a CompanyLogoThemedPath para obras de arte maiores do que 400x100 e 750 KB

Add-CMManagementPoint

Insetos que foram corrigidos

  • Se EnableCloudGateway for $true , pode definir CommunicationType para valor não suportado de Http

Clear-CMPxeDeployment

Insetos que foram corrigidos

  • O Cmdlet não limpa as implementações do PXE

Get-CMDevice

Insetos que foram corrigidos

  • O Cmdlet não pode devolver as propriedades esperadas para um dispositivo

Get-CMHierarchySetting

Alterações não-quebrando

  • Cmdlet agora devolve a atualização do cliente e definições de dados de utilização

New-CMAntimalwarePolicyDeployment

Insetos que foram corrigidos

  • O Cmdlet permite que uma coleção de utilizadores seja especificada como um alvo de implantação

New-CMComplianceRuleExistential

Alterações não-quebrando

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

New-CMConfigurationPolicyuDeployment

Insetos que foram corrigidos

  • AdiaçãoDeteTime parâmetro não disponível em todos os conjuntos de parâmetros

New-CMUserDataAndProfileConfigurationItem

Insetos que foram corrigidos

  • Não pode ser utilizado $false com o parâmetro DetectSlowLinkDisabled
  • Alguns parâmetros não podem ser definidos quando detectSlowLink é $true

New-CMWirelessProfile

Alterações não-quebrando

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

Depreciação

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

Set-CMComplianceRuleExistential

Alterações não-quebrando

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

Set-CMDistributionPoint

Alterações não-quebrando

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

Set-CMHierarchySetting

Alterações não-quebrando

  • Novo parâmetro TelemetriaLevel para configurar definições de dados de utilização

Set-CMIntuneSubscription

Insetos que foram corrigidos

  • Não é possível definir a EmpresaLogoPath ou a CompanyLogoThemedPath para obras de arte maiores do que 400x100 e 750KB

Set-CMManagementPoint

Insetos que foram corrigidos

  • Se EnableCloudGateway for $true , pode definir CommunicationType para valor não suportado de Http

Set-CMMsiDeploymentType

Insetos que foram corrigidos

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

Alterações não-quebrando

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

Set-CMSoftwareUpdatePointComponent

Alterações não-quebrando

  • Adicionou novos parâmetros à configuração de funcionalidade e supersedência não característica
  • Novo parâmetro imediatamenteExpireSedenceForFeature para expirar imediatamente atualizações superseded
  • Novo parâmetro WaitForMonthFeature para configurar quanto tempo expirar atualizações superadas

Set-CMTSStepJoinDomainWorkgroup

Insetos que foram corrigidos

  • O parâmetro UserName não suporta %VARIABLE% o formato

Set-CMTSStepCaptureUserState

Alterações não-quebrando

  • O Cmdlet avisa agora quando o AddConfigFile é usado e o ModeOption é Standard

Set-CMUserDataAndProfileConfigurationItem

Alterações não-quebrando

  • O Cmdlet avisa agora quando o parâmetro SlowLink e SyncMins são utilizados quando o EnableSlowLink é $false

Set-CMWirelessProfile

Alterações não-quebrando

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

Depreciação

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

Start-CMAntimalwarePolicyDeployment

Insetos que foram corrigidos

  • O Cmdlet permite que uma coleção de utilizadores seja especificada como um alvo de implantação

Como fornecer problemas de feedback ou relatório

Muitas das correções e melhorias descritas neste artigo são resultado do seu feedback.

Para submeter relatórios de bugs, use enviar um sorriso na consola Do Gestor de Configuração. Para novos pedidos de funcionalidades, utilize o UserVoice.