none
PowerShell DSC ConfigurationNames - was nützen die? RRS feed

  • Allgemeine Diskussion

  • Guten Tag

    Ich habe einen DSC Pull Server aufgesetzt und auch bereits ein, zwei Clients daran angebunden.

    Ich habe nun eine Verständnisfrage bezüglich ConfigurationNames. Man kann im LocalConfigurationManager bzw. im ConfigurationData File für die Clients ConfigurationNames angeben. Nehmen wir folgendes an:

    @{
        NodeName = "Admin-PC"
        Role = "AdminClient"
        LCM_RebootNodeIfNeeded = $true
        LCM_ActionAfterReboot = "ContinueConfiguration"
        LCM_RefreshFrequencyMins = 90
        LCM_ConfigurationModeFrequencyMins = 45
        LCM_ConfigurationMode = "ApplyAndAutocorrect"
        LCM_ConfigurationNames = @("ClientConfiguration")
        LCM_ConfigurationDependsOn = @{}
    }
    @{
        NodeName = "TEST-PC"
        Role = "TestClient"
        LCM_RebootNodeIfNeeded = $true
        LCM_ActionAfterReboot = "ContinueConfiguration"
        LCM_RefreshFrequencyMins = 90
        LCM_ConfigurationModeFrequencyMins = 45
        LCM_ConfigurationMode = "ApplyAndAutocorrect"
        LCM_ConfigurationNames = @("ClientConfiguration")
        LCM_ConfigurationDependsOn = @{}
    }

    Wie Ihr seht, sollen beide Computer die Konfiguration "ClientConfiguration" erhalten.

    Die ClientConfiguration würde so aussehen.

    Configuration ClientConfiguration {
    
        Param()
        Import-DscResource -ModuleName xPSDesiredStateConfiguration
        Import-DscResource -ModuleName cRegFile
        
        Node $AllNodes.Where({ $_.Role -in @("AdminClient","TestClient")  }).NodeName
        {
            # Abacus 2.0.439 installieren
            xPackage PackageAbacus20439 {
                Name = "AbaClient"
                Path = "\\server\share\abaclient_installer_de.msi"
                Ensure = "Present"
                ProductId = "2DC41FAE-68BB-4E83-BDA2-64EF8F3FE4DD"
                LogPath = "C:\install\abaclient_msiinstalllog.txt"
                Arguments = "installlevel=5"
            }
    
            # Abacus Reg File
            cRegFile RegFileAbacus {
                Key = "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\abaclientsetting"
                RegFilePath = "\\server\share\AutoUpdateAus.reg"
                DependsOn = "[xPackage]PackageAbacus20439"
            }
        }
    }

    Wie normal bei DSC, kreiert diese Konfiguration jedoch für jeden Node ein File, z.B Test-PC.mof und Admin-PC.mof

    Diese .mof Dateien sind auch sehr spezifisch dem Computer zugeordnet, am Anfang vom MOF File steht folgendes:

    /*
    @TargetNode='TEST-PC'
    @GeneratedBy=xy
    @GenerationDate=07/17/2019 14:11:48
    @GenerationHost=xy
    */

    Hier wird also spezifisch auf ein TagetNode hingewiesen.

    Nun stellen sich mir hier folgende Fragen.

    • Welche dieser 2 (oder mehr, wenn ich mehr Nodes hinzufüge) Dateien muss ich nun auf ClientConfiguration.mof umbenennen?
    • Macht es überhaupt Sinn, ConfigurationNames zu verwenden, oder soll ich sie einfach beim PC-Namen belassen?
    • Wird dieses "TargetNode" im MOF File überhaupt berücksichtigt?
    • Kann ich diese Files irgendwie direkt mergen?
    • Kann ich der Konfiguration von Anfang an sagen, erstelle nur 1 File und gleich mit dem korrekten Namen?
    • Wird angenommen, dass wenn man ConfigurationNames benutzt, als Node nur localhost verwendet?

    Vielen Dank!




    Mittwoch, 17. Juli 2019 13:29