Configuration Manager modifiche alla libreria dei cmdlet per la versione 1810
Si applica a: Configuration Manager (Current Branch)
Nota
Configuration Manager current branch versione 1806 è la linea di base per queste modifiche. Per altre informazioni, vedere Configuration Manager modifiche alla libreria dei cmdlet per la versione 1806.
Modifiche importanti
Nuovi cmdlet
I cmdlet seguenti vengono aggiunti per creare regole dei requisiti per i tipi di distribuzione e le condizioni globali:
- 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
I cmdlet supportati per Add e Set-CM*DeploymentType hanno aggiunto parametri per GroupDetectionClauses e DetectionClauseConnector.
Esempi
Creare un'espressione semplice con una regola
$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
Aggiungere un'espressione di condizione globale complessa
$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
Aggiungere una regola di lingua
$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
Creare un'espressione semplice con una regola.
$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
Cmdlet rimossi
Nessuno
Cmdlet deprecati
Nessuno
Problemi noti
Gli elementi seguenti sono problemi noti relativi alla libreria di cmdlet che non vengono risolti in questa versione.
Get-CMAadConditionalAccessPolicy e Set-CMAadConditionalAccessPolicy
Questi cmdlet richiedono un ambiente PowerShell a 64 bit.
Soluzione alternativa
- Nessuno
Import-CMSecurityRole
Il cmdlet potrebbe non riuscire con un errore DirectoryNotFoundException durante l'individuazione del file SecuredRoles.xsd
.
Soluzione alternativa
- Chiamare
Import-Module
sulConfigurationManager.psd1
file e non sul percorso logico o sul nome del modulo.
Set-CMSoftwareUpdatePoint
Le modifiche apportate a Pianificazione potrebbero non essere visualizzate nella console di Configuration Manager anche se l'oggetto provider SMS sottostante è stato modificato.
Soluzione alternativa
- Chiudere e riavviare la console Configuration Manager.
Rilevamento e ripristino delle risorse (beta)
Questa versione aggiunge nuovi cmdlet per supportare il rilevamento degli oggetti provider SMS usati dal runtime di PowerShell e per pulire queste risorse quando non sono più necessarie.
- Disconnect-CMTrackedObject
- Start-CMObjectTracking
- Stop-CMObjectTracking
Quando si esegue Start-CMObjectTracking
, il runtime di PowerShell tiene traccia degli IResultObject
oggetti creati dai cmdlet della libreria di cmdlet. Per i cmdlet che non vengono puliti manualmente con .Dispose()
, recuperarli usando Disconnect-CMTrackedObject
su un singolo oggetto.
Esempio
# Reclaim a single tracked object
$o | Disconnect-CMTrackedObject
# Reclaim all tracked objects
Disconnect-CMTrackedObject -All
Una volta recuperato, un oggetto non può più essere riutilizzato o passato a un altro cmdlet tramite la pipeline dell'oggetto.
Stop-CMObjectTracking
può essere usato per disattivare il rilevamento degli oggetti. Gli oggetti allocati in precedenza rimangono attivi.
Le risorse non reclamate possono causare errori di violazione della quota da parte del provider SMS. Questi problemi di quota si manifestano in genere dall'uso di set di grandi dimensioni di oggetti provider SMS o in ambienti a esecuzione prolungata.
Nota
Questa funzionalità è sperimentale e può essere soggetta a modifiche o rimozione in una versione futura. Si tratta del consenso esplicito e non è abilitato per impostazione predefinita.
Modifiche ai cmdlet
In questa versione sono state apportate le modifiche seguenti ai cmdlet esistenti. Le modifiche possono essere nuove funzionalità, correzioni di bug o deprecazione. Alcune modifiche potrebbero causare un'interruzione. Se si usa una delle aree dei cmdlet o delle funzionalità elencate in questa sezione, esaminare attentamente le modifiche per comprendere in che modo possono influire sull'uso.
Add-CMDistributionPoint
Modifiche non di rilievo
- Nuovo parametro EnableLedbat per abilitare LEDBAT per un punto di distribuzione
Add-CMIntuneSubscription
Bug corretti
- Non è possibile impostare CompanyLogoPath o CompanyLogoThemedPath su grafica superiore a 400x100 e 750 KB
Add-CMManagementPoint
Bug corretti
- Se EnableCloudGateway è
$true
, può impostare CommunicationType su un valore non supportato diHttp
Clear-CMPxeDeployment
Bug corretti
- Il cmdlet non cancella le distribuzioni PXE
Get-CMDevice
Bug corretti
- Il cmdlet potrebbe non restituire le proprietà previste per un dispositivo
Get-CMHierarchySetting
Modifiche non di rilievo
- Il cmdlet restituisce ora le impostazioni dei dati di utilizzo e aggiornamento client
New-CMAntimalwarePolicyDeployment
Bug corretti
- Il cmdlet consente di specificare una raccolta di utenti come destinazione di distribuzione
New-CMComplianceRuleExistential
Modifiche non di rilievo
- Il parametro ExpectedValue ora consente numeri negativi
New-CMConfigurationPolicyuDeployment
Bug corretti
- Parametro PostponeDateTime non disponibile in tutti i set di parametri
New-CMUserDataAndProfileConfigurationItem
Bug corretti
- Non è possibile usare
$false
con il parametro DetectSlowLinkDisabled - Alcuni parametri non possono essere impostati quando DetectSlowLink è
$true
New-CMWirelessProfile
Modifiche non di rilievo
- È ora possibile usare 'Fast' con il parametro EapType
- È possibile usare il nuovo parametro RememberUserCredentials per impostare o cancellare le credenziali.
Deprecazioni
- Il parametro RememberCredentials è stato sostituito da RememberUserCredentials
Set-CMComplianceRuleExistential
Modifiche non di rilievo
- Il parametro ExpectedValue ora consente numeri negativi
Set-CMDistributionPoint
Modifiche non di rilievo
- Nuovo parametro EnableLedbat per configurare LEDBAT per un punto di distribuzione
Set-CMHierarchySetting
Modifiche non di rilievo
- Nuovo parametro TelemetryLevel per la configurazione delle impostazioni dei dati di utilizzo
Set-CMIntuneSubscription
Bug corretti
- Non è possibile impostare CompanyLogoPath o CompanyLogoThemedPath su grafica superiore a 400x100 e 750 KB
Set-CMManagementPoint
Bug corretti
- Se EnableCloudGateway è
$true
, può impostare CommunicationType su un valore non supportato diHttp
Set-CMMsiDeploymentType
Bug corretti
- Il parametro AddDetectionClause cancella la clausola di rilevamento del codice del prodotto MSI esistente in precedenza
- Il parametro AddRequirement potrebbe non riuscire con "SQL_ERROR"
Modifiche non di rilievo
- Nuovi parametri GroupDetectionClauses e DetectionClauseConnector per il raggruppamento delle clausole di rilevamento
Set-CMSoftwareUpdatePointComponent
Modifiche non di rilievo
- Aggiunta di nuovi parametri per configurare la sostituzione di funzionalità e non funzionalità
- Nuovo parametro ImmediatelyExpireSupersedenceForFeature per scadere immediatamente gli aggiornamenti sostituiti
- Nuovo parametro WaitForMonthFeature per configurare per quanto tempo scadono gli aggiornamenti sostituiti
Set-CMTSStepJoinDomainWorkgroup
Bug corretti
- Il parametro UserName non supporta il
%VARIABLE%
formato
Set-CMTSStepCaptureUserState
Modifiche non di rilievo
- Il cmdlet avvisa ora quando viene usato AddConfigFile e ModeOption è
Standard
Set-CMUserDataAndProfileConfigurationItem
Modifiche non di rilievo
- Il cmdlet avvisa ora quando vengono usati i parametri SlowLink e SyncMins quando EnableSlowLink è
$false
Set-CMWirelessProfile
Modifiche non di rilievo
- È ora possibile usare 'Fast' con il parametro EapType
- È possibile usare il nuovo parametro RememberUserCredentials per impostare o cancellare le credenziali.
Deprecazioni
- Il parametro RememberCredentials è stato sostituito da RememberUserCredentials
Start-CMAntimalwarePolicyDeployment
Bug corretti
- Il cmdlet consente di specificare una raccolta di utenti come destinazione di distribuzione