Deinstallieren Sie die MSI-Datei mit der angegebenen ID an der angegebenen HTTPS-URL.
Beschreibung
In diesem Beispiel wird gezeigt, wie Sie die MsiPackage
Ressource verwenden können, um sicherzustellen, dass ein Paket nicht installiert ist.
Stellen Sie sicher, dass Absent
"ProductID" auf {DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}
" und "Pfad" festgelegt file://contoso.com/example.msi
ist, deinstalliert die Ressource das example.msi
Paket, wenn es installiert ist.
Wenn das Paket installiert ist, lädt die Ressource sie herunter https://contoso.com/example.msi
, wenn die Ressource den gewünschten Zustand erzwingt. Wenn der Download fehlschlägt, löst die Ressource eine Ausnahme aus.
Mit Invoke-DscResource
Dieses Skript zeigt, wie Sie die MsiPackage
Ressource mit dem Invoke-DscResource
Cmdlet verwenden können, um sicherzustellen, dass ein Paket in einem Web-URI nicht installiert ist.
[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
}
}
Mit einer Konfiguration
Dieser Codeausschnitt zeigt, wie Sie einen Configuration
MsiPackage
Ressourcenblock definieren können, um sicherzustellen, dass ein Paket in einem Web-URI nicht installiert ist.
Configuration UninstallPackageFromHttps {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
MsiPackage ExampleMsiPackage {
ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
Path = 'https://contoso.com/example.msi'
Ensure = 'Absent'
}
}
}