PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

PowerShell Desired State Configuration (DSC) nyederhanakeun pisan padamelan pikeun nyebarkeun sareng ngonpigurasikeun sistem operasi, peran server, sareng aplikasi nalika anjeun gaduh ratusan server.

Tapi lamun maké DSC on-premises, i.e. teu di MS Azure, aya sababaraha nuances. Utamana katingali upami organisasi ageung (tina 300 workstation sareng server) sareng henteu acan mendakan dunya wadahna:

  • Henteu aya laporan lengkep ngeunaan status sistem. Upami konfigurasi anu diperyogikeun teu acan diterapkeun dina sababaraha server, maka tanpa laporan ieu kami moal terang ngeunaan éta. Ieu rada hese pikeun ménta inpo ti diwangun-di server ngalaporkeun, sarta pikeun sajumlah badag host ogé bisa nyandak lila.
  • Kurangna skalabilitas sareng kasabaran kasalahan. Teu mungkin pikeun ngawangun hiji tegalan DSC narik web server nu bakal boga database lepat-toleran tunggal jeung neundeun umum file mof pikeun konfigurasi, modul jeung kenop pendaptaran.

Dinten ieu kuring bakal nyaritakeun kumaha anjeun tiasa ngabéréskeun masalah anu munggaran sareng kéngingkeun data pikeun ngalaporkeun. Sagalana bakal leuwih basajan lamun SQL bisa dipaké salaku database a. IBU jangji Pangrojong diwangun ngan ukur dina Windows Server 2019 atanapi dina ngawangun server Windows 1803. Candak data nganggo panyadia OleDB ogé moal jalansabab DSC Server ngagunakeun parameter ngaranna nu teu dirojong pinuh ku OleDbCommand.

Kuring kapanggih metoda ieu: pikeun maranéhanana anu ngagunakeun Windows Server 2012 jeung 2016, Anjeun tiasa Ngepaskeun ngagunakeun database SQL salaku backend pikeun server query DSC. Jang ngalampahkeun ieu, urang bakal nyieun hiji "proxy" dina bentuk file .mdb kalawan tabel pakait, nu bakal alihan data narima tina laporan klien kana database server SQL.

Catetan: Pikeun Windows Server 2016 anjeun kedah nganggo AccessDatabaseEngine2016x86sabab Microsoft.Jet.OLEDB.4.0 teu didukung deui.

Kuring moal balik kana detil ngeunaan prosés deploying a DSC tarikan server, eta digambarkeun kacida alusna di dieu. Kuring ngan bakal catetan sababaraha titik. Upami urang nyebarkeun penarik DSC dina pangladén wéb anu sami sareng WSUS atanapi Kaspersky Security Center, maka dina skrip nyiptakeun konfigurasi urang kedah ngarobih parameter ieu:

  1. UseSecurityBestPractices     = $false

    Upami teu kitu, TLS 1.0 bakal ditumpurkeun sareng anjeun moal tiasa nyambung ka pangkalan data SQL. Kaspersky Security Center ogé moal jalan (masalahna kedah direngsekeun dina Kaspersky Security Center v11).

  2. Enable32BitAppOnWin64   = $true

    Mun anjeun teu nyieun parobahan ieu, Anjeun moal bisa ngajalankeun AppPool DSC server on Iis kalawan WSUS.

  3. Nalika masang DSC Server sareng WSUS, mareuman cache statik sareng dinamis pikeun situs DSC.

Hayu urang ngaléngkah ka nyetel server DSC ngagunakeun database SQL.

Nyieun database SQL

  1. Hayu urang nyieun database SQL kosong ngaranna DSC.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  2. Hayu urang nyieun rekening pikeun nyambung ka database ieu. Mimiti, pariksa yén pangladén SQL ngamungkinkeun auténtikasi akun Windows sareng SQL.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  3. Pindah ka bagian Pemetaan Pamaké. Pilih pangkalan data, dina hal ieu DSC. Urang masihan hak nu boga database.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  4. Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

Nyiptakeun Skéma pikeun Database DSC

Aya dua cara pikeun nyieun skéma pikeun database DSC:

  • mandiri, ngaliwatan skrip TSQL
    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
  • data impor ti devices.mdb kosong salaku bagian tina PS modul PSDesiredStateConfiguration ngaliwatan SQL Data Impor Wizard.

    Devices.mdb anu bakal urang garap aya dina C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. Pikeun ngimpor data, jalankeun Wizard Impor sareng Ékspor SQL Server.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  2. Kami milih dimana kami bakal kéngingkeun data - bisi kami mangrupikeun pangkalan data Microsoft Access. Klik Next.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  3. Pilih file ti mana urang ngimpor diagram.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  4. Kami nunjukkeun dimana ngimpor - pikeun kami éta database SQL.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  5. Pilih server SQL (Nami Server) sareng pangkalan data dimana urang bakal ngimpor data (DataBase).

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  6. Pilih pilihan Salin data tina hiji atawa leuwih tabel atawa pintonan.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  7. Urang milih tabel ti mana urang bakal ngimpor schema database.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  8. Pariksa kotak centang Jalankeun Langsung teras klik Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  9. Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  10. Hasilna, tabel kudu muncul dina database DSC.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

Nyetel hiji .mdb "proxy" file

Nyiptakeun sambungan ODBC ka pangladén SQL. Hal ieu dianggap yén MS Aksés teu dipasang dina server ngajalankeun DSC, jadi nyetel databases.mdb dipigawé dina host panengah jeung MS Aksés dipasang.

Hayu urang nyieun sistem sambungan ODBC ka server SQL (bitness sambungan kudu cocog jeung bitness MS Aksés - 64 atawa 32). Éta tiasa diciptakeun nganggo:
- 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

— atanapi sacara manual, nganggo wizard sambungan:

  1. Buka Alat Administratif. Kami milih sumber data ODBC gumantung kana versi MS Access anu dipasang. Pindah ka tab System DSN sareng jieun sambungan sistem (Tambahkeun).

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  2. Urang nunjukkeun yén urang bakal nyambung ka server SQL. Klik Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  3. Sebutkeun nami sareng server pikeun nyambungkeun. Teras sambungan sareng parameter anu sami kedah didamel dina server DSC.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  4. Kami nunjukkeun yén pikeun nyambung ka pangladén SQL, kami nganggo login anu didamel sateuacana sareng nami DSC.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  5. Urang nangtukeun database dina setélan sambungan DSC.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  6. Klik Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  7. Sateuacan ngabéréskeun setélan, kami pariksa yén sambunganna jalan (Sumber Data Tés).

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  8. Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

Nyieun database devices.mdb dina MS Access. Jalankeun MS Access sareng jieun database kosong anu disebut devices.mdb.

PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  1. Pindah ka tab Data Eksternal teras klik dina ODBC Database. Dina jandela nu nembongan, pilih Jieun tabel numbu pikeun nyambung ka sumber data.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  2. Dina jandéla anyar, pilih tab Sumber Data Mesin teras klik OKÉ. Dina jandela nu anyar, asupkeun Kapercayaan pikeun nyambung ka server SQL.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  3. Pilih tabel anu kedah dikaitkeun. Pariksa kotak Simpen sandi teras klik OK. Simpen sandi unggal waktos kanggo sadaya tilu tabel.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  4. Dina indéks anjeun kedah milih ieu:
    - TargetName pikeun tabel dbo_Devices;

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

    - NodeName atanapi IPAddress pikeun dbo_RegistrationData;

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

    - NodeName atanapi IPAddress pikeun dbo_StatusReport.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  5. Hayu urang ngaganti ngaran tabel dina MS Access, nyaéta: cabut awalan dbo_ sangkan DSC bisa make eta.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  6. Rengse.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  7. Simpen file sareng tutup MS Access. Ayeuna urang nyalin device.mdb anu dihasilkeun ka server DSC (sacara standar dina C: Program FilesWindowsPowershellDSCService) jeung ngaganti nu geus aya (lamun aya).

Ngonpigurasikeun DSC Server ngagunakeun SQL

  1. Urang balik deui ka server DSC. Pikeun nyambung ka server SQL sareng file proxy urang, hayu urang nyieun sambungan ODBC anyar dina server DSC. Ngaran, jero bit, sareng setélan sambungan kedah sami sareng nalika nyiptakeun file MDB. Anjeun tiasa nyalin alat kosong anu parantos dikonpigurasi.mdb ti dieu.
  2. Pikeun make devices.mdb, Anjeun kudu nyieun parobahan web.config tina DSC pull server (standar nyaéta C: inetpubPSDSCPullServerweb.config):

- pikeun 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;">

- pikeun 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;">

Ieu ngalengkepan setelan server DSC.

Mariksa pungsionalitas server DSC

  1. Hayu urang parios yén server DSC tiasa diaksés ngalangkungan browser wéb.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  2. Ayeuna hayu urang pariksa naha DSC pull server berpungsi leres. Jang ngalampahkeun ieu, modul xPSDesiredStateConfiguration ngawengku Aksara pullserversetuptests.ps1. Sateuacan ngajalankeun skrip ieu, anjeun kedah masang modul Powershell anu namina Pester. Pasang éta Pasang-Modul -Name Pester.
  3. Buka C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (dina conto versi 8.0.0.0.0).

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  4. Buka PullServerSetupTests.ps1 jeung pariksa jalur ka web.config tina server DSC. Jalur ka web.config, anu bakal pariksa naskah, disorot beureum. Upami diperlukeun, urang ngarobah jalur ieu.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  5. Ngajalankeun pullserversetuptests.ps1
    Invoke-Pester.PullServerSetupTests.ps1
    Все работает.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

  6. Dina SQL Manajemén Studio urang tingali yen sarwa dikaluarkeun ngirim laporan ka server ngalaporkeun DSC sarta data ends up dina database DSC dina server SQL.

    PowerShell Desired State Konfigurasi sareng file: bagian 1. Konfigurasi DSC Pull Server pikeun dianggo sareng database SQL

Éta hungkul. Dina artikel di handap ieu kuring rencanana ngabejaan ka maneh kumaha ngawangun laporan dina data diala, sarta kuring bakal noél dina masalah ngeunaan kasabaran sesar tur scalability.

sumber: www.habr.com

Tambahkeun komentar