Désinstaller le fichier MSI avec l’ID donné à l’URL HTTPS donnée
Description
Cet exemple montre comment utiliser la MsiPackage
ressource pour vous assurer qu’un package n’est pas installé.
Avec l’option Vérifier définie Absent
sur , ProductID{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}
définie sur , et Chemin d’accès défini file://contoso.com/example.msi
sur , la ressource désinstalle le example.msi
package s’il est installé.
Si le package est installé, la ressource la télécharge à partir du https://contoso.com/example.msi
moment où la ressource applique l’état souhaité. Si le téléchargement échoue, la ressource lève une exception.
Avec Invoke-DscResource
Ce script montre comment utiliser la ressource avec l’applet MsiPackage
Invoke-DscResource
de commande pour vous assurer qu’un package sur un URI web n’est pas installé.
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'MsiPackage'
ModuleName = 'PSDscResource'
Properties = @{
ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
Path = 'https://contoso.com/example.msi'
Ensure = 'Absent'
}
}
$NonGetProperties = @(
'Ensure'
'MembersToInclude'
)
}
process {
$TestResult = Invoke-DscResource -Method Test @SharedParameters
if ($TestResult.InDesiredState) {
$QueryParameters = $SharedParameters.Clone()
foreach ($Property in $NonGetProperties) {
$QueryParameters.Properties.Remove($Property)
}
Invoke-DscResource -Method Get @QueryParameters
} else {
Invoke-DscResource -Method Set @SharedParameters
}
}
Avec une configuration
Cet extrait de code montre comment définir un Configuration
MsiPackage
bloc de ressources pour vous assurer qu’un package sur un URI web n’est pas installé.
Configuration UninstallPackageFromHttps {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
MsiPackage ExampleMsiPackage {
ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
Path = 'https://contoso.com/example.msi'
Ensure = 'Absent'
}
}
}