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 arquivoConfigurationManager.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-CMObjectTracking
o 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 deHttp
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 deHttp
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