PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

PowerShell Desired State Configuration (DSC) nyederhanakake tugas nyebarake lan ngatur sistem operasi, peran server, lan aplikasi nalika sampeyan duwe atusan server.

Nanging nalika nggunakake DSC ing panggonan, i.e. ora ing MS Azure, ana saperangan saka nuansa. Utamane katon yen organisasi gedhe (saka 300 stasiun kerja lan server) lan durung nemokake jagad kontaner:

  • Ora ana laporan lengkap babagan status sistem. Yen konfigurasi sing dibutuhake durung ditrapake ing sawetara server, mula tanpa laporan kasebut, kita ora bakal ngerti babagan iki. Iku cukup angel kanggo njupuk informasi saka server Reporting dibangun ing, lan kanggo nomer akeh host uga bisa njupuk wektu dawa.
  • Kurang skalabilitas lan toleransi kesalahan. Iku mokal kanggo mbangun farm DSC narik server web sing bakal duwe database fault-toleran siji lan panyimpenan umum file mof kanggo konfigurasi, modul lan tombol registrasi.

Dina iki aku bakal pitutur marang kowe carane sampeyan bisa ngatasi masalah pisanan lan njaluk data kanggo laporan. Kabeh bakal luwih gampang yen SQL bisa digunakake minangka basis data. MS janji dhukungan sing dibangun mung ing Windows Server 2019 utawa ing build Windows server 1803. Njupuk data nggunakake panyedhiya OleDB uga ora bakal bisaamarga DSC Server nggunakake parameter jenenge sing ora didhukung kanthi lengkap dening OleDbCommand.

Aku nemokake cara iki: kanggo sing nggunakake Windows Server 2012 lan 2016, sampeyan bisa nyiyapake nggunakake database SQL minangka backend kanggo server query DSC. Kanggo nindakake iki, kita bakal nggawe "proxy" ing wangun file .mdb karo tabel gadhah, kang bakal pangalihan data ditampa saka laporan klien kanggo database SQL server.

Cathetan: Kanggo Windows Server 2016 sampeyan kudu nggunakake AccessDatabaseEngine2016x86amarga Microsoft.Jet.OLEDB.4.0 ora didhukung maneh.

Aku ora bakal pindhah menyang rinci bab proses deploying DSC narik server, iku banget uga diterangake kene. Aku mung bakal Wigati saperangan TCTerms. Yen kita masang penarik DSC ing server web sing padha karo WSUS utawa Kaspersky Security Center, banjur ing skrip nggawe konfigurasi kita kudu ngganti paramèter ing ngisor iki:

  1. UseSecurityBestPractices     = $false

    Yen ora, TLS 1.0 bakal dipateni lan sampeyan ora bisa nyambung menyang database SQL. Pusat Keamanan Kaspersky uga ora bisa digunakake (masalah kasebut kudu dirampungake ing Pusat Keamanan Kaspersky v11).

  2. Enable32BitAppOnWin64   = $true

    Yen sampeyan ora nindakake owah-owahan iki, sampeyan ora bakal bisa mbukak server AppPool DSC ing IIS karo WSUS.

  3. Nalika nginstal DSC Server karo WSUS, mateni caching statis lan dinamis kanggo situs DSC.

Ayo dadi pindhah menyang nyetel server DSC kanggo nggunakake database SQL.

Nggawe database SQL

  1. Ayo nggawe database SQL kosong sing jenenge DSC.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  2. Ayo nggawe akun kanggo nyambung menyang database iki. Pisanan, priksa manawa server SQL ngidini otentikasi akun Windows lan SQL.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  3. Pindhah menyang bagean Pemetaan pangguna. Pilih database, ing kasus iki DSC. We menehi hak saka pemilik database.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  4. Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

Nggawe Skema kanggo Database DSC

Ana rong cara kanggo nggawe skema kanggo database DSC:

  • independen, liwat script 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 ngimpor saka devices.mdb kosong minangka bagéan saka PS modul PSDesiredStateConfiguration liwat SQL Data Impor Wisaya.

    Devices.mdb sing bakal kita gunakake ana ing C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. Kanggo ngimpor data, bukak Wisaya Impor lan Ekspor SQL Server.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  2. Kita milih saka ngendi kita bakal entuk data - ing kasus kita yaiku database Microsoft Access. Klik Sabanjure.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  3. Pilih file saka ngendi kita ngimpor diagram.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  4. Kita nuduhake ngendi kanggo ngimpor - kanggo kita iku database SQL.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  5. Pilih server SQL (Server Name) lan database sing bakal diimpor data (DataBase).

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  6. Pilih pilihan Salin data saka siji utawa luwih tabel utawa tampilan (nyalin data saka tabel utawa tampilan).

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  7. Kita milih tabel saka ngendi kita bakal ngimpor skema database.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  8. Centhang kothak Run Langsung banjur klik Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  9. Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  10. Akibaté, tabel kudu katon ing database DSC.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

Nyetel file "proxy" .mdb

Nggawe sambungan ODBC menyang server SQL. Dianggep MS Access ora diinstal ing server sing nganggo DSC, mula nyetel databases.mdb ditindakake ing host penengah kanthi MS Access diinstal.

Ayo nggawe sambungan ODBC sistem menyang server SQL (bitness sambungan kudu cocog karo bitness MS Access - 64 utawa 32). Bisa digawe nggunakake:
- cmdlet Powershell:

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

— utawa kanthi manual, nggunakake tuntunan sambungan:

  1. Bukak Alat Administratif. Kita milih sumber data ODBC gumantung versi MS Access sing diinstal. Pindhah menyang tab Sistem DSN lan gawe sambungan sistem (Tambah).

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  2. Kita nuduhake yen kita bakal nyambung menyang server SQL. Klik Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  3. Nemtokake jeneng lan server sing arep disambungake. Banjur sambungan karo paramèter sing padha kudu digawe ing server DSC.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  4. Kita nuduhake yen kanggo nyambung menyang server SQL, kita nggunakake login sing digawe sadurunge kanthi jeneng DSC.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  5. Kita nemtokake database ing setelan sambungan DSC.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  6. Klik Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  7. Sadurunge ngrampungake persiyapan, priksa manawa sambungan kasebut bisa digunakake (Sumber Data Tes).

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  8. Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

Nggawe database devices.mdb ing MS Access. Bukak MS Access lan gawe database kosong sing diarani devices.mdb.

PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  1. Pindhah menyang tab Data Eksternal banjur klik Database ODBC. Ing jendhela sing katon, pilih Gawe tabel sing disambung kanggo nyambung menyang sumber data.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  2. Ing jendela anyar, pilih tab Sumber Data Mesin lan klik OK. Ing jendela anyar, ketik kredensial kanggo nyambung menyang server SQL.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  3. Pilih tabel sing kudu disambung. Priksa kothak Simpen sandhi banjur klik OK. Simpen sandhi saben wektu kanggo kabeh telung tabel.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  4. Ing indeks sampeyan kudu milih ing ngisor iki:
    - TargetName kanggo tabel dbo_Devices;

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

    - NodeName utawa IPAddress kanggo dbo_RegistrationData;

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

    - NodeName utawa IPAddress kanggo dbo_StatusReport.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  5. Ayo ganti jeneng tabel ing MS Access, yaiku: mbusak awalan dbo_ supaya DSC bisa nggunakake.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  6. Rampung.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  7. Simpen file lan nutup MS Access. Saiki kita nyalin asil devices.mdb menyang server DSC (kanthi standar ing C: Program FilesWindowsPowershellDSCService) lan ngganti sing wis ana (yen ana).

Konfigurasi DSC Server kanggo Gunakake SQL

  1. Kita bali menyang server DSC. Kanggo nyambung menyang server SQL nganggo file proxy, ayo nggawe sambungan ODBC anyar ing server DSC. Jeneng, ambane bit, lan setelan sambungan kudu padha karo nalika nggawe file MDB. Sampeyan bisa nyalin piranti kosong sing wis dikonfigurasi.mdb saka kene.
  2. Kanggo nggunakake devices.mdb, sampeyan kudu nggawe owahan ing web.config server tarik DSC (standar C: inetpubPSDSCPullServerweb.config):

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

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

Iki ngrampungake persiyapan server DSC.

Priksa fungsi server DSC

  1. Ayo priksa manawa server DSC bisa diakses liwat browser web.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  2. Saiki ayo priksa manawa server tarik DSC bisa digunakake kanthi bener. Kanggo nindakake iki, modul xPSDesiredStateConfiguration kalebu script pullserversetuptests.ps1. Sadurunge mbukak skrip iki, sampeyan kudu nginstal modul Powershell sing jenenge Pester. Instal Instal-Module-Name Pester.
  3. Bukak C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (ing conto versi 8.0.0.0.0).

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  4. Bukak PullServerSetupTests.ps1 lan mriksa path menyang web.config saka server DSC. Path kanggo web.config, kang bakal mriksa script, disorot abang. Yen perlu, kita ngganti dalan iki.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  5. Mbukak pullserversetuptests.ps1
    Invoke-Pester.PullServerSetupTests.ps1
    Nganggo akun.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

  6. Ing SQL Management Studio kita waca sing diterbitake sarwa dumadi ngirim laporan kanggo DSC Reporting server lan data ends munggah ing database DSC ing SQL server.

    PowerShell Desired State Konfigurasi lan file: part 1. Konfigurasi DSC Pull Server kanggo nggarap database SQL

Mekaten. Ing artikel ing ngisor iki aku rencana kanggo pitutur marang kowe carane mbangun laporan ing data dijupuk, lan aku bakal tutul ing masalah bab toleransi fault lan skalabilitas.

Source: www.habr.com

Add a comment