إلغاء تثبيت ملف MSI بالمعرف المحدد في عنوان URL HTTPS المحدد

الوصف

يوضح هذا المثال كيف يمكنك استخدام MsiPackage المورد لضمان عدم تثبيت حزمة.

مع تعيين Ensure إلى Absent، تم تعيين ProductID إلى {DEADBEEF-80C6-41E6-A1B9-8BDB8A05027F}، وتعيين المسار إلى file://contoso.com/example.msi، يقوم المورد بإلغاء تثبيت الحزمة example.msi إذا كانت مثبتة.

إذا تم تثبيت الحزمة، يقوم المورد بتنزيلها من https://contoso.com/example.msi عندما يفرض المورد الحالة المطلوبة. إذا فشل التنزيل، يطرح المورد استثناء.

مع Invoke-DscResource

يوضح هذا البرنامج النصي كيف يمكنك استخدام MsiPackage المورد مع Invoke-DscResource cmdlet لضمان عدم تثبيت حزمة على URI على الويب.

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

مع تكوين

توضح هذه القصاصة البرمجية كيف يمكنك تعريف Configuration مع كتلة MsiPackage موارد لضمان عدم تثبيت حزمة على URI على الويب.

Configuration UninstallPackageFromHttps {
    Import-DscResource -ModuleName 'PSDscResources'

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