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 oConfigurationManager.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 deHttp
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 deHttp
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.