PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

PowerShell Desired State Configuration (DSC) imathandizira kwambiri ntchito yoyika ndikusintha makina ogwiritsira ntchito, maudindo a seva, ndi kugwiritsa ntchito mukakhala ndi ma seva mazana.

Koma mukamagwiritsa ntchito DSC pamalo, i.e. osati ku MS Azure, pali ma nuances angapo. Zikuwonekera makamaka ngati bungweli ndi lalikulu (kuchokera kumalo ogwirira ntchito ndi ma seva 300) ndipo silinapezebe dziko lazotengera:

  • Palibe malipoti athunthu okhudza momwe machitidwe akuyendera. Ngati kasinthidwe kofunikira sikunagwiritsidwe ntchito pa ma seva ena, ndiye kuti popanda malipoti awa sitidzadziwa. Ndizovuta kupeza zambiri kuchokera pa seva yopangira malipoti, ndipo kwa olandila ambiri zitha kutenga nthawi yayitali.
  • Kupanda scalability ndi zolakwa kulolerana. Ndikosatheka kumanga famu ya DSC kukoka ma seva a pa intaneti omwe angakhale ndi database imodzi yolekerera zolakwika komanso kusungirako wamba kwa mafayilo a mof pazosintha, ma module ndi makiyi olembetsa.

Lero ndikuuzani momwe mungathetsere vuto loyamba ndikupeza deta yofotokozera. Chilichonse chingakhale chosavuta ngati SQL ingagwiritsidwe ntchito ngati nkhokwe. MS malonjezo Zothandizira zomangidwa mu Windows Server 2019 kapena kumanga Windows seva 1803. Tengani deta pogwiritsa ntchito OleDB provider adzalepherachifukwa DSC Server imagwiritsa ntchito chizindikiro chomwe sichimathandizidwa ndi OleDbCommand.

Ndinapeza njira iyi: kwa omwe amagwiritsa ntchito Windows Server 2012 ndi 2016, mukhoza khazikitsa kugwiritsa ntchito database ya SQL ngati kumbuyo kwa seva yafunso ya DSC. Kuti tichite izi, tidzapanga "proxy" mu mawonekedwe a fayilo ya .mdb yokhala ndi matebulo ogwirizana, omwe adzalozeranso deta yolandiridwa kuchokera ku malipoti a kasitomala kupita ku database ya seva ya SQL.

Zindikirani: Kwa Windows Server 2016 muyenera kugwiritsa ntchito AccessDatabaseEngine2016x86chifukwa Microsoft.Jet.OLEDB.4.0 sichikuthandizidwanso.

Sindifotokoza mwatsatanetsatane za momwe mungagwiritsire ntchito seva ya DSC kukoka, ikufotokozedwa bwino apa. Ndingowona mfundo zingapo. Ngati titumiza chokoka cha DSC pa seva yomweyo ndi WSUS kapena Kaspersky Security Center, ndiye muzolemba zopanga masinthidwe tiyenera kusintha magawo awa:

  1. UseSecurityBestPractices     = $false

    Apo ayi, TLS 1.0 idzayimitsidwa ndipo simungathe kulumikiza ku database ya SQL. Kaspersky Security Center sichigwiranso ntchito (vuto liyenera kuthetsedwa mu Kaspersky Security Center v11).

  2. Enable32BitAppOnWin64   = $true

    Ngati simusintha izi, simungathe kuyendetsa seva ya AppPool DSC pa IIS ndi WSUS.

  3. Mukakhazikitsa Seva ya DSC ndi WSUS, zimitsani kusungitsa kokhazikika komanso kosunthika kwa tsamba la DSC.

Tiyeni tipitirire kukhazikitsa seva ya DSC kuti igwiritse ntchito database ya SQL.

Kupanga SQL Database

  1. Tiyeni tipange nkhokwe yopanda kanthu ya SQL yotchedwa DSC.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  2. Tiyeni tipange akaunti kuti tilumikizane ndi databaseyi. Choyamba, yang'anani kuti seva ya SQL imalola kutsimikizika kwa maakaunti onse a Windows ndi SQL.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  3. Pitani ku gawo la Mapu Ogwiritsa Ntchito. Sankhani database, mu nkhani iyi DSC. Timapereka ufulu wa eni ake a database.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  4. Wachita.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

Kupanga Schema ya DSC Database

Pali njira ziwiri zopangira schema ya database ya DSC:

  • paokha, kudzera pa TSQL script
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Devices](
    [TargetName] [nvarchar](255) NOT NULL,
    [ConfigurationID] [nvarchar](255) NOT NULL,
    [ServerCheckSum] [nvarchar](255) NOT NULL,
    [TargetCheckSum] [nvarchar](255) NOT NULL,
    [NodeCompliant] [bit] NOT NULL,
    [LastComplianceTime] [datetime] NULL,
    [LastHeartbeatTime] [datetime] NULL,
    [Dirty] [bit] NOT NULL,
    [StatusCode] [int] NULL
    ) ON [PRIMARY]
    GO
     
    CREATE TABLE [dbo].[RegistrationData](
    [AgentId] [nvarchar](255) NOT NULL,
    [LCMVersion] [nvarchar](255) NULL,
    [NodeName] [nvarchar](255) NULL,
    [IPAddress] [nvarchar](255) NULL,
    [ConfigurationNames] [nvarchar](max) NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
     
    CREATE TABLE [dbo].[StatusReport](
    [JobId] [nvarchar](50) NOT NULL,
    [Id] [nvarchar](50) NOT NULL,
    [OperationType] [nvarchar](255) NULL,
    [RefreshMode] [nvarchar](255) NULL,
    [Status] [nvarchar](255) NULL,
    [LCMVersion] [nvarchar](50) NULL,
    [ReportFormatVersion] [nvarchar](255) NULL,
    [ConfigurationVersion] [nvarchar](255) NULL,
    [NodeName] [nvarchar](255) NULL,
    [IPAddress] [nvarchar](255) NULL,
    [StartTime] [datetime] NULL,
    [EndTime] [datetime] NULL,
    [Errors] [nvarchar](max) NULL,
    [StatusData] [nvarchar](max) NULL,
    [RebootRequested] [nvarchar](255) NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
  • lowetsani deta kuchokera ku device.mdb yopanda kanthu monga gawo la PS module PSDesiredStateConfiguration kudzera mu SQL Data Import Wizard.

    Devices.mdb yomwe tikhala tikugwira nayo ntchito ili mu C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. Kuti mulowetse deta, yesani SQL Server Import and Export Wizard.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  2. Timasankha komwe tingapeze deta - kwa ife ndi Microsoft Access database. Dinani Kenako.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  3. Sankhani fayilo yomwe timalowetsamo chithunzicho.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  4. Tikuwonetsa komwe tingalowemo - kwa ife ndi database ya SQL.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  5. Sankhani seva ya SQL (Dzina la seva) ndi nkhokwe yomwe tidzalowetsemo deta (DataBase).

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  6. Sankhani Copy data kuchokera patebulo limodzi kapena angapo kapena njira yowonera.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  7. Timasankha matebulo omwe tidzalowetsamo schema ya database.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  8. Chongani Thamangani Bokosi Loyang'anira ndikudina Malizani.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  9. Wachita.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  10. Zotsatira zake, matebulo ayenera kuwoneka mu database ya DSC.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

Kukhazikitsa fayilo ya .mdb "proxy".

Kupanga kulumikizana kwa ODBC ku seva ya SQL. Zimaganiziridwa kuti MS Access sinayikidwe pa seva yomwe ikuyendetsa DSC, kotero kukhazikitsa databases.mdb kumachitidwa pa host host ndi MS Access yoikidwa.

Tiyeni tipange njira yolumikizira ODBC ku seva ya SQL (kulumikizana pang'ono kuyenera kufanana ndi MS Access bitness - 64 kapena 32). Ikhoza kupangidwa pogwiritsa ntchito:
- Powershell cmdlet:

Add-OdbcDsn –Name DSC –DriverName 'SQL Server' –Platform '<64-bit or 32-bit>' –DsnType System –SetPropertyValue @('Description=DSC Pull Server',"Server=<Name of your SQL Server>",'Trusted_Connection=yes','Database=DSC') –PassThru

- kapena pamanja, pogwiritsa ntchito wizard yolumikizira:

  1. Tsegulani Zida Zoyang'anira. Timasankha magwero a data a ODBC kutengera mtundu wa MS Access woyika. Pitani ku tabu ya System DSN ndikupanga kulumikizana kwadongosolo (Add).

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  2. Tikuwonetsa kuti tidzalumikizana ndi seva ya SQL. Dinani Malizani.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  3. Tchulani dzina ndi seva yolumikizira. Kenako kulumikizana ndi magawo omwewo kudzafunika kupangidwa pa seva ya DSC.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  4. Tikuwonetsa kuti kulumikizana ndi seva ya SQL, timagwiritsa ntchito malowedwe omwe adapangidwa kale ndi dzina la DSC.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  5. Timalongosola nkhokwe mumakonzedwe a DSC.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  6. Dinani Malizani.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  7. Tisanamalize kukhazikitsa, timayang'ana kuti kulumikizana kukugwira ntchito (Test Data Source).

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  8. Wachita.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

Kupanga database ya device.mdb mu MS Access. Yambitsani MS Access ndikupanga database yopanda kanthu yotchedwa devices.mdb.

PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  1. Pitani ku tabu ya External Data ndikudina pa ODBC Database. Pazenera lomwe likuwoneka, sankhani Pangani tebulo lolumikizidwa kuti mulumikizane ndi gwero la data.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  2. Pazenera latsopano, sankhani tsamba la Machine Data Source ndikudina Chabwino. Pawindo latsopano, lowetsani zidziwitso kuti mugwirizane ndi seva ya SQL.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  3. Sankhani matebulo omwe akuyenera kulumikizidwa. Chongani Save achinsinsi bokosi ndi kumadula OK. Sungani mawu achinsinsi nthawi iliyonse pamatebulo onse atatu.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  4. Mu indexes muyenera kusankha zotsatirazi:
    - TargetName pa tebulo la dbo_Devices;

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

    - NodeName kapena IPAddress ya dbo_RegistrationData;

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

    - NodeName kapena IPAddress ya dbo_StatusReport.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  5. Tiyeni titchulenso matebulo mu MS Access, omwe ndi: chotsani dbo_ prefix kuti DSC iwagwiritse ntchito.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  6. Wachita.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  7. Sungani fayilo ndikutseka MS Access. Tsopano tikukopera zida zotsatila.mdb ku seva ya DSC (mwachisawawa mu C: Program FilesWindowsPowershellDCSService) ndikusintha yomwe ilipo (ngati ilipo).

Kukonza DSC Server kuti igwiritse ntchito SQL

  1. Timabwerera ku seva ya DSC. Kuti mulumikizane ndi seva ya SQL ndi fayilo yathu ya projekiti, tiyeni tipange kulumikizana kwatsopano kwa ODBC pa seva ya DSC. Dzina, kuya pang'ono, ndi zoikamo zolumikizira ziyenera kukhala zofanana ndi popanga fayilo ya MDB. Mutha kukopera zida zopanda kanthu zomwe zakhazikitsidwa kale kuchokera pano.
  2. Kuti mugwiritse ntchito devices.mdb, muyenera kusintha pa web.config ya DSC kukoka seva (chosakhazikika ndi C:inetpubPSDSCPullServerweb.config):

- ya Windows Server 2012

<add key="dbprovider" value="System.Data.OleDb">
<add key="dbconnectionstr" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Program FilesWindowsPowerShellDscServiceDevices.mdb;">

- ya Windows Server 2016

<add key="dbprovider" value="System.Data.OleDb">
<add key="dbconnectionstr" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:Program FilesWindowsPowerShellDscServiceDevices.mdb;">

Izi zimamaliza kukhazikitsidwa kwa seva ya DSC.

Kuwona magwiridwe antchito a seva ya DSC

  1. Tiyeni tiwone ngati seva ya DSC ikupezeka kudzera pa msakatuli.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  2. Tsopano tiyeni tiwone ngati DSC kukoka seva ikugwira ntchito moyenera. Kuti muchite izi, gawo la xPSDesiredStateConfiguration limaphatikizapo script ya pullserversetuptests.ps1. Musanagwiritse ntchito script iyi, muyenera kukhazikitsa gawo la Powershell lotchedwa Pester. Ikani Ikani-Module -Name Pester.
  3. Tsegulani C:Mafayilo a PulogalamuWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (mu chitsanzo cha 8.0.0.0.0).

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  4. Tsegulani PullServerSetupTests.ps1 ndikuyang'ana njira yopita ku web.config ya seva ya DSC. Njira yopita ku web.config, yomwe idzayang'ane script, ikuwonetsedwa mofiira. Ngati ndi kotheka, timasintha njira iyi.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  5. Thamangani pullserversetuptests.ps1
    Invoke-Pester.PullServerSetupTests.ps1
    Zonse zikuyenda.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

  6. Mu SQL Management Studio tikuwona kuti makamu omwe amayendetsedwa amatumiza malipoti ku seva yopereka malipoti ya DSC ndipo deta imathera mu database ya DSC pa seva ya SQL.

    PowerShell Desired State Configuration and file: part 1. Kukonza DSC Pull Server kuti igwire ntchito ndi database ya SQL

Ndizomwezo. M'nkhani zotsatirazi ndikukonzekera kukuuzani momwe mungamangire malipoti pazomwe mwapeza, ndipo ndidzakhudza nkhani zokhudzana ndi kulekerera zolakwika ndi scalability.

Source: www.habr.com

Kuwonjezera ndemanga