Share via


Desinstalar o arquivo MSI com a ID fornecida na URL HTTPS fornecida

Descrição

Este exemplo mostra como você pode usar o MsiPackage recurso para garantir que um pacote não esteja instalado.

Com Ensure definido como Absent, ProductID definido como {DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}, e Caminho definido como file://contoso.com/example.msi, o recurso desinstala o example.msi pacote se ele estiver instalado.

Se o pacote estiver instalado, o recurso o baixará de https://contoso.com/example.msi quando o recurso impor o estado desejado. Se o download falhar, o recurso gerará uma exceção.

Com Invoke-DscResource

Este script mostra como você pode usar o MsiPackage recurso com o Invoke-DscResource cmdlet para garantir que um pacote em um URI Web não esteja instalado.

[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
    }
}

Com uma configuração

Este snippet mostra como você pode definir um com um ConfigurationMsiPackage bloco de recursos para garantir que um pacote em um URI Web não esteja instalado.

Configuration UninstallPackageFromHttps {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        MsiPackage ExampleMsiPackage {
            ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
            Path      = 'https://contoso.com/example.msi'
            Ensure    = 'Absent'
        }
    }
}