Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

PowerShell Desired State Configuration (DSC) tissimplifika bil-kbir ix-xogħol tal-iskjerament u l-konfigurazzjoni tas-sistema operattiva, ir-rwoli tas-server, u l-applikazzjonijiet meta jkollok mijiet ta’ servers.

Imma meta tuża DSC fuq il-post, i.e. mhux fl-MS Azure, hemm ftit sfumaturi. Dawn huma speċjalment notevoli jekk l-organizzazzjoni hija kbira (minn 300 workstation u servers) u għadha ma skoprietx id-dinja tal-kontenituri:

  • M'hemm l-ebda rapporti sħaħ dwar l-istatus tas-sistemi. Jekk il-konfigurazzjoni meħtieġa ma ġietx applikata fuq xi servers, allura mingħajr dawn ir-rapporti ma nkunux nafu dwarha. Huwa pjuttost diffiċli li tinkiseb informazzjoni mis-server ta 'rappurtar integrat, u għal numru kbir ta' hosts jista 'jieħu wkoll żmien twil.
  • M'għandux skalabbiltà u tolleranza għall-ħsarat. Huwa impossibbli li tinbena razzett ta 'servers tal-web tal-ġibda DSC li jkollhom database waħda li tollera l-ħsarat u ħażna komuni ta' fajls mof għal konfigurazzjonijiet, moduli u ċwievet ta 'reġistrazzjoni.

Illum se ngħidlek kif tista' ssolvi l-ewwel problema u tikseb data għar-rappurtar. Kollox ikun aktar sempliċi jekk SQL jista 'jintuża bħala database. SINJORINA wegħdiet appoġġ integrat biss fil-Windows Server 2019 jew fil-bini Windows server 1803. Iġbor id-dejta bl-użu tal-fornitur OleDB ukoll mhux se jaħdemminħabba li DSC Server juża parametru msemmi li mhux appoġġjat bis-sħiħ minn OleDbCommand.

Sibt dan il-metodu: għal dawk li jużaw Windows Server 2012 u 2016, tista ' stabbilit billi tuża database SQL bħala backend għas-server tal-mistoqsijiet DSC. Biex tagħmel dan, aħna noħolqu "proxy" fil-forma ta 'fajl .mdb b'tabelli assoċjati, li se tidderieġi mill-ġdid id-dejta riċevuta mir-rapporti tal-klijenti għad-database tas-server SQL.

Nota: Għall-Windows Server 2016 trid tuża AccessDatabaseEngine2016x86minħabba li Microsoft.Jet.OLEDB.4.0 m'għadux appoġġjat.

Mhux se nidħol fid-dettall dwar il-proċess tal-iskjerament ta 'server tal-ġibda DSC, huwa deskritt tajjeb ħafna hawn. Se ninnota biss ftit punti. Jekk niskjeraw il-puller DSC fuq l-istess web server ma WSUS jew Kaspersky Security Center, allura fl-iskript tal-ħolqien tal-konfigurazzjoni għandna bżonn nibdlu l-parametri li ġejjin:

  1. UseSecurityBestPractices     = $false

    Inkella, TLS 1.0 ikun diżattivat u ma tkunx tista' tikkonnettja mad-database SQL. Kaspersky Security Center lanqas se jaħdem (il-problema għandha tiġi solvuta f'Kaspersky Security Center v11).

  2. Enable32BitAppOnWin64   = $true

    Jekk ma tagħmilx din il-bidla, ma tkunx tista' tħaddem is-server AppPool DSC fuq IIS b'WSUS.

  3. Meta tinstalla DSC Server b'WSUS, iddiżattiva l-caching statiku u dinamiku għas-sit DSC.

Ejja ngħaddu għat-twaqqif tas-server DSC biex tuża d-database SQL.

Ħolqien ta 'database SQL

  1. Ejja noħolqu database SQL vojta bl-isem DSC.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  2. Ejja noħolqu kont biex tikkonnettja ma' din id-database. L-ewwel, iċċekkja li s-server SQL jippermetti l-awtentikazzjoni kemm tal-kontijiet tal-Windows kif ukoll tal-SQL.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  3. Mur fit-taqsima tal-Immappjar tal-Utenti. Agħżel id-database, f'dan il-każ DSC. Aħna nagħtu d-drittijiet tas-sid tad-database.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  4. Magħmul.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

Ħolqien ta' Skema għad-database DSC

Hemm żewġ modi kif toħloq skema għal database DSC:

  • indipendentement, permezz ta 'skript 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
  • importazzjoni tad-dejta minn devices vojta.mdb bħala parti mill-modulu PS PSDesiredStateConfiguration permezz tal-SQL Data Import Wizard.

    Il-Devices.mdb li se nkunu qed naħdmu miegħu jinsab f'C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. Biex timporta d-dejta, mexxi l-Importazzjoni u l-Esportazzjoni Wizard SQL Server.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  2. Aħna nagħżlu minn fejn se nġibu d-dejta - fil-każ tagħna hija database tal-Microsoft Access. Ikklikkja Li jmiss.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  3. Agħżel il-fajl li minnu nimportaw id-dijagramma.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  4. Aħna nindikaw fejn timporta - għalina hija database SQL.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  5. Agħżel is-server SQL (Isem tas-Server) u d-database li fiha se nimportaw id-dejta (DataBase).

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  6. Agħżel l-għażla Ikkopja dejta minn tabella jew fehmiet waħda jew aktar (ikkopjar dejta minn tabelli jew opinjonijiet).

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  7. Aħna nagħżlu t-tabelli li minnhom se nimportaw l-iskema tad-database.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  8. Iċċekkja l-kaxxa Mexxi Immedjatament u kklikkja Finish.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  9. Magħmul.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  10. Bħala riżultat, it-tabelli għandhom jidhru fid-database DSC.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

Twaqqif ta 'fajl .mdb "proxy".

Il-ħolqien ta' konnessjoni ODBC ma' server SQL. Huwa preżunt li MS Access mhuwiex installat fuq is-server li jħaddem DSC, għalhekk it-twaqqif ta' databases.mdb isir fuq host intermedju b'MS Access installat.

Ejja noħolqu konnessjoni ODBC tas-sistema mas-server SQL (il-bitness tal-konnessjoni għandu jaqbel mal-bitness tal-MS Access - 64 jew 32). Jista 'jinħoloq billi tuża:
- 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

— jew manwalment, billi tuża l-wizard tal-konnessjoni:

  1. Iftaħ għodod Amministrattivi. Aħna nagħżlu sorsi tad-dejta ODBC skont il-verżjoni tal-MS Access installat. Mur fit-tab tas-Sistema DSN u oħloq konnessjoni tas-sistema (Żid).

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  2. Aħna nindikaw li se nikkonnettjaw mas-server SQL. Ikklikkja Finish.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  3. Speċifika l-isem u s-server biex tikkonnettja magħhom. Imbagħad jeħtieġ li tinħoloq konnessjoni bl-istess parametri fuq is-server DSC.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  4. Aħna nindikaw li biex tikkonnettja mas-server SQL, nużaw login maħluqa qabel bl-isem DSC.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  5. Aħna nispeċifikaw id-database fis-settings tal-konnessjoni DSC.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  6. Ikklikkja Finish.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  7. Qabel ma tlesti s-setup, niċċekkjaw li l-konnessjoni qed taħdem (Sors tad-Data tat-Test).

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  8. Magħmul.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

Ħolqien ta 'database devices.mdb f'MS Access. Tnedija MS Access u oħloq database vojta msejħa devices.mdb.

Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  1. Mur fit-tab tad-Data Esterna u kklikkja fuq Database ODBC. Fit-tieqa li tidher, agħżel Oħloq tabella marbuta biex tikkonnettja mas-sors tad-dejta.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  2. Fit-tieqa l-ġdida, agħżel it-tab Sors tad-Data tal-Magni u kklikkja OK. Fit-tieqa l-ġdida, daħħal il-kredenzjali biex tikkonnettja mas-server SQL.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  3. Agħżel it-tabelli li jeħtieġ li jiġu konnessi. Iċċekkja l-kaxxa Save password u kklikkja OK. Ħlief il-password kull darba għat-tliet tabelli kollha.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  4. Fl-indiċi trid tagħżel dan li ġej:
    — TargetName għat-tabella dbo_Devices;

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

    — NodeName jew IPAddress għal dbo_RegistrationData;

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

    — NodeName jew IPAddress għal dbo_StatusReport.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  5. Ejja inbiddlu l-isem tat-tabelli f'MS Access, jiġifieri: neħħi l-prefiss dbo_ sabiex DSC tkun tista' tużahom.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  6. Magħmul.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  7. Issejvja l-fajl u agħlaq MS Access. Issa nikkopja l-apparati li jirriżultaw.mdb lis-server DSC (b'mod awtomatiku f'C: Program FilesWindowsPowershellDSCService) u nibdel dak eżistenti miegħu (jekk jeżisti).

Konfigurazzjoni ta' DSC Server biex Uża SQL

  1. Nirritornaw lejn is-server DSC. Biex tikkonnettja mas-server SQL bil-fajl proxy tagħna, ejja noħolqu konnessjoni ODBC ġdida fuq is-server DSC. L-isem, il-fond tal-bit, u l-issettjar tal-konnessjoni għandhom ikunu l-istess bħal meta jinħoloq il-fajl MDB. Tista 'tikkopja l-apparati vojta diġà kkonfigurati.mdb minn hawn.
  2. Biex tuża devices.mdb, trid tagħmel bidliet fil-web.config tas-server tal-ġibda DSC (default huwa C:inetpubPSDSCPullServerweb.config):

- għall-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;">

- għall-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;">

Dan itemm is-setup tas-server DSC.

Iċċekkjar tal-funzjonalità tas-server DSC

  1. Ejja niċċekkjaw li s-server DSC huwa aċċessibbli permezz ta' web browser.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  2. Issa ejja niċċekkjaw jekk is-server tal-ġibda DSC hux qed jaħdem sew. Biex tagħmel dan, il-modulu xPSDesiredStateConfiguration jinkludi l-iskrittura pullserversetuptests.ps1. Qabel ma tħaddem dan l-iskript, trid tinstalla modulu Powershell bl-isem Pester. Installah Installa-Modulu -Isem Pester.
  3. Iftaħ C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (fil-verżjoni eżempju 8.0.0.0.0).

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  4. Iftaħ PullServerSetupTests.ps1 u iċċekkja l-mogħdija għall-web.config tas-server DSC. It-triq għal web.config, li se tiċċekkja l-iskrittura, hija enfasizzata bl-aħmar. Jekk meħtieġ, nibdlu din it-triq.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

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

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

  6. Fl-SQL Management Studio naraw li l-hosts amministrati jibagħtu rapporti lis-server tar-rappurtar DSC u d-data tispiċċa fid-database DSC fuq is-server SQL.

    Konfigurazzjoni u fajl tal-Istat Mixtieq ta' PowerShell: parti 1. Konfigurazzjoni ta' DSC Pull Server biex jaħdem ma' database SQL

Dak kollox. Fl-artikoli li ġejjin qed nippjana li ngħidlek kif tibni rapporti dwar id-dejta miksuba, u se tmiss kwistjonijiet dwar it-tolleranza tal-ħsarat u l-iskalabbiltà.

Sors: www.habr.com

Żid kumment