Odinstalujte soubor MSI s daným ID na dané adrese URL HTTPS.
Description
Tento příklad ukazuje, jak můžete prostředek použít MsiPackage
k zajištění, že balíček není nainstalovaný.
Pokud je nastavená hodnota Absent
, ProductID nastavena na {DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}
hodnotu a Cesta nastavena na file://contoso.com/example.msi
, prostředek odinstaluje example.msi
balíček, pokud je nainstalovaný.
Pokud je balíček nainstalovaný, prostředek ho stáhne, https://contoso.com/example.msi
když prostředek vynutí požadovaný stav. Pokud stahování selže, prostředek vyvolá výjimku.
S Invoke-DscResource
Tento skript ukazuje, jak můžete použít MsiPackage
prostředek s rutinou Invoke-DscResource
k zajištění toho, aby se balíček na webovém identifikátoru URI nenainstaloval.
[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
}
}
S konfigurací
Tento fragment kódu ukazuje, jak můžete definovat Configuration
blok MsiPackage
prostředků, abyste zajistili, že balíček na webovém identifikátoru URI není nainstalovaný.
Configuration UninstallPackageFromHttps {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
MsiPackage ExampleMsiPackage {
ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
Path = 'https://contoso.com/example.msi'
Ensure = 'Absent'
}
}
}