Si dessous une liste de fonction PowerShell pour activer ou désactiver les Updates incrémentales d’une collection, ainsi qu’un script permettant de le faire à partir d’un fichier CSV.
Activation via ID de collection
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Enable-IncrementalUpdates -CollectionID PRI0000C
[/pastacode]
Activation via Nom de collection
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Enable-IncrementalUpdates –CollectionName "CU Deployment"
[/pastacode]
Désactivation via ID de collection
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Disable-IncrementalUpdates -CollectionID PRI0000C
[/pastacode]
Désactivation via Nom de collection
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Disable-IncrementalUpdates –CollectionName "CU Deployment"
[/pastacode]
Vous pouvez aussi utiliser un paramètre optionnel pour spécifier le nom du serveur et ainsi exécuté à distance vos commande.
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Enable-IncrementalUpdates -CollectionID PRI0000C –Server PRI
[/pastacode]
Bien sûr vous pouvez aussi faire le travail avec une entré csv :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Import-CSV -Path .\collections.csv | % {Enable-IncrementalUpdates -CollectionName $_.Collection}
[/pastacode]
Avec le code suivant en fonction :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
function Disable-IncrementalUpdates {
[CmdletBinding(DefaultParameterSetName="CollectionID")]
Param
(
[Parameter(Mandatory=$true,ParameterSetName="collectionID", Position=0)]
[String]$CollectionID,
[Parameter(Mandatory=$true,ParameterSetName="collectionName", Position=0)]
[String]$CollectionName,
[Parameter(Mandatory=$false,ParameterSetName="collectionName", Position=1)]
[Parameter(Mandatory=$false,ParameterSetName="collectionID", Position=1)]
[String]$Server
)
if(!$server){ $server = '.'}
$siteCode = @(Get-WmiObject -Namespace root\sms -Class SMS_ProviderLocation -ComputerName $server)[0].SiteCode
gwmi sms_collection -ComputerName $server -Namespace root\sms\site_$siteCode -Filter "CollectionID = '$collectionID' or Name = '$collectionName'" | % {
$collection = [wmi] $_.__Path
If($collection.RefreshType -eq 4) {$collection.RefreshType = 1}
If($collection.RefreshType -eq 6) {$Collection.RefreshType = 2}
$collection.Put() | Out-Null}
}
function Enable-IncrementalUpdates {
[CmdletBinding(DefaultParameterSetName="CollectionID")]
Param
(
[Parameter(Mandatory=$true,ParameterSetName="collectionID", Position=0)]
[String]$CollectionID,
[Parameter(Mandatory=$true,ParameterSetName="collectionName", Position=0)]
[String]$CollectionName,
[Parameter(Mandatory=$false,ParameterSetName="collectionName", Position=1)]
[Parameter(Mandatory=$false,ParameterSetName="collectionID", Position=1)]
[String]$Server
)
if(!$server){ $server = '.'}
$siteCode = @(Get-WmiObject -Namespace root\sms -Class SMS_ProviderLocation -ComputerName $server)[0].SiteCode
gwmi sms_collection -ComputerName $server -Namespace root\sms\site_$siteCode -Filter "CollectionID = '$collectionID' or Name = '$collectionName'" | % {
$collection = [wmi] $_.__Path
If($collection.RefreshType -eq 1) {$collection.RefreshType = 4}
If($collection.RefreshType -eq 2) {$Collection.RefreshType = 6}
$collection.Put() | Out-Null }
}
[/pastacode]
Article d’origine : ICI