Installer le fichier MSI avec l’ID donné au chemin d’accès donné
Description
Cet exemple montre comment utiliser la MsiPackage
ressource pour vérifier qu’un package est installé.
Avec l’option Vérifier définie Present
sur , ProductID{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}
définie sur , et Chemin d’accès défini file://Examples/example.msi
sur , la ressource installe le example.msi
package s’il n’est pas déjà installé.
Si le package n’est pas installé et que le example.msi
fichier n’existe pas, la ressource lève une exception lorsqu’elle applique l’état souhaité.
Avec Invoke-DscResource
Ce script montre comment utiliser la MsiPackage
ressource avec l’applet Invoke-DscResource
de commande pour vérifier qu’un package sur le système de fichiers local est installé.
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'MsiPackage'
ModuleName = 'PSDscResource'
Properties = @{
ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
Path = 'file://Examples/example.msi'
Ensure = 'Present'
}
}
$NonGetProperties = @(
'Ensure'
)
}
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
bloc MsiPackage
de ressources pour vous assurer qu’un package sur le système de fichiers local est installé.
Configuration InstallPackageFromFile {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
MsiPackage ExampleMsiPackage {
ProductId = '{DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}'
Path = 'file://Examples/example.msi'
Ensure = 'Present'
}
}
}