Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

PowerShell Desired State Configuration (DSC) e bën shumë më të lehtë procesin e shpërndarjes dhe konfigurimit të sistemit operativ, rolit të serverit dhe aplikacioneve, kur keni qindra servera.

Por gjatë përdorimit të DSC në vend, pra jo në MS Azure, dalin disa nuanca. Këto janë veçanërisht të ndjeshme nëse organizata është e madhe (nga 300 stacione pune dhe servera) dhe nuk ka hapur ende botën e kontejnerëve:

  • Nuk ka raporte tĂ« plota mbi gjendjen e sistemeve. NĂ«se konfigurimi i nevojshĂ«m nuk aplikohet nĂ« disa servera, pa kĂ«to raporte nuk do ta mĂ«sojmĂ« kurrĂ«. Marrja e informacionit nga serveri i integruar tĂ« raporteve Ă«shtĂ« mjaft e vĂ«shtirĂ«, dhe pĂ«r njĂ« numĂ«r tĂ« madh hostesh – edhe e gjatĂ«.
  • Mungon shkallĂ«zueshmĂ«ria dhe qĂ«ndrueshmĂ«ria. Nuk Ă«shtĂ« e mundur tĂ« ndĂ«rtoni njĂ« fermĂ« tĂ« serverĂ«ve DSC qĂ« pyesin, tĂ« cilĂ«t do tĂ« kishin njĂ« bazĂ« tĂ« pĂ«rbashkĂ«t tĂ« qĂ«ndrueshmĂ«risĂ« dhe njĂ« magazinĂ« tĂ« pĂ«rbashkĂ«t tĂ« skedarĂ«ve mof tĂ« konfigurimeve, moduleve dhe çelĂ«save tĂ« regjistrimit.

Sot do të flas për mënyrën se si mund të zgjidhet problemi i parë dhe si të merrni të dhëna për ndërtimin e raportimeve. Do të ishte më e lehtë nëse si bazë të dhënash mund të përdornim SQL. promet MS ka mbështetje të integruar vetëm në Windows Server 2019 ose në build Windows Server 1803. Marrja e të dhënave duke përdorur OleDB provider nuk do të funksionojë ashtu siç duhet, pasi serveri DSC përdor parametrin e emërtuar, i cili nuk mbështetet plotësisht nga OleDbCommand.

Këtu gjeta një mënyrë: atyre që përdorin Windows Server 2012 dhe 2016, u është e mundur të konfiguroni përdorimi i DB SQL si backend për serverin DSC që pyes. Për këtë do të krijojmë një "proksi" në formën e një skedari .mdb me tabela të lidhura, që do të drejtojë të dhënat e marra nga raportet e klientëve në DB SQL server.

Vërejtje: për Windows Server 2016 është e nevojshme të përdorim AccessDatabaseEngine2016x86, pasi Microsoft.Jet.OLEDB.4.0 nuk mbështetet më.

Nuk do të ndalem në procesin e shpërndarjes së serverit DSC, pasi ai është përshkruar shumë mirë këtu. Do të theksoj vetëm disa pika. Nëse po shpërndajmë serverin DSC në një server në ueb me WSUS ose Kaspersky Security Center, atëherë në skenarin e krijimit të konfigurimit duhet të ndryshojmë parametrat e mëposhtëm:

  1. UseSecurityBestPractices = $false

    Përndryshe, TLS 1.0 do të çaktivizohet, dhe nuk do të mund të lidhesh me DB SQL. Kaspersky Security Center gjithashtu nuk do të funksionojë (problemi duhet të zgjidhet në Kaspersky Security Center v11).

  2. Enable32BitAppOnWin64 = $true

    Nëse nuk e bëni këtë ndryshim, nuk do të mund të filloni AppPool të DSC-serverit në IIS me WSUS.

  3. Kur instaloni DSC-serverin së bashku me WSUS, çaktivizoni keshtjellimin statik dhe dinamik për faqen DSC.

Të kalojmë në konfigurimin e serverit DSC për të përdorur DB SQL.

Krijimi i DB SQL

  1. Të krijojmë një databazë të zbrazët SQL me emrin DSC.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  2. Të krijojmë një llogari për t'u lidhur me këtë databazë. Së pari, kontrolloni që në SQL-server të lejohet autentifikimi i të dy llojeve të llogarive: Windows dhe SQL.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  3. Shkoni te Seksioni i Hartimit të Përdoruesve. Zgjidhni databazën, në këtë rast - DSC. Jepni të drejtat e pronarit të databazës.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  4. Gati.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

Krijimi i skemës për databazën DSC

Krijimi i skemës për databazën DSC mund të bëhet në dy mënyra:

  • vetĂ«, pĂ«rmes njĂ« skenari nĂ« 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
  • importoni tĂ« dhĂ«nat nga njĂ« devices.mdb tĂ« zbrazĂ«t brenda modulit PS tĂ« PSDesiredStateConfiguration pĂ«rmes Asistentit tĂ« Importit tĂ« tĂ« DhĂ«nave SQL.

    Devices.mdb, me të cilin do të punojmë, ndodhet në C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. Për të importuar të dhënat fillojmë Asistentin e Importit dhe Eksportit të SQL Server.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  2. Zgjidhni nga ku do tĂ« marrim tĂ« dhĂ«nat – nĂ« rastin tonĂ«, kjo Ă«shtĂ« databaza Microsoft Access. Shtypni Next.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  3. Zgjidhni skedarin nga i cili importojmë skemën.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  4. Specifikoni ku do tĂ« importoni – ne e kemi kĂ«tĂ« DB SQL.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  5. Zgjidhni SQL-serverin (Emri i Serverit) dhe databazën në të cilën do të importoni të dhënat (DataBase).

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  6. Zgjidhni opsionin Kopjoni të dhënat nga një ose më shumë tabela ose pamje (kopjimi i të dhënave nga tabelat ose pamjet).

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  7. Zgjidhni tabelat nga të cilat do të importoni skemën e databazës.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  8. Vënit shenjën Run Immediately dhe klikoni Finish.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  9. Gati.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  10. Si rezultat, në DB DSC duhet të shfaqen tabelat.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

Konfigurimi i skedarit .mdb 'proxy'

Krijimi i lidhjes ODBC me SQL serverin. Supozohët se MS Access nuk është instaluar në serverin me DSC, prandaj konfigurimi i databases.mdb bëhet në një host ndërmjetës me MS Access të instaluar.

TĂ« krijojmĂ« njĂ« lidhje sistemore ODBC me SQL serverin (pĂ«rmasat e lidhjes duhet tĂ« pĂ«rputhen me ato tĂ« MS Access – 64 ose 32). Kjo mund tĂ« krijohet me:
— komandĂ«n Powershell:

Add-OdbcDsn –Name DSC –DriverName 'SQL Server' –Platform '' –DsnType System –SetPropertyValue @('Description=DSC Pull Server',"Server=''",'Trusted_Connection=yes','Database=DSC') –PassThru

— ose manualisht, me ndihmĂ«n e wizard-it tĂ« lidhjeve:

  1. Hapin mjetet administrative. Zgjidhni burimet e të dhënave ODBC në varësi të versionit të instaluar të MS Access. Kaloni në skedën System DSN dhe krijoni një lidhje sistemore (Shto).

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  2. Tregoni se do të lidhni me SQL serverin. Klikoni Finish.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  3. Tregoni emrin dhe serverin për lidhjen. Pastaj, lidhja me të njëjtat parametra duhet të krijohet në serverin DSC.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  4. Tregoni se për lidhjen me SQL serverin përdoret login-i që ne krijuam paraprakisht me emrin DSC.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  5. Caktoni DB-në në cilësimet e lidhjes DSC.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  6. Klikoni Finish.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  7. Para se të përfundoni konfigurimin, kontrolloni që lidhja të funksionojë (Test Data Source).

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  8. Gati.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

Krijimi i bazës së të dhënave devices.mdb në MS Access. Hapni MS Access dhe krijoni një bazë të re të zbrazët me emrin devices.mdb.

Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  1. Kaloni në skedën të dhëna të jashtme, klikoni në bazën e të dhënave ODBC. Në dritaren që shfaqet, zgjidhni Krijo tabelë të lidhur për lidhje me burimin e të dhënave.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  2. Në dritaren e re zgjidhni skedën Machine Data Source dhe klikoni OK. Në dritaren e re, futni kredencialet për lidhjen me SQL serverin.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  3. Zgjidhni tabelat që duhen lidhur. Shënoni kutinë Ruaj password-in dhe klikoni OK. Ruani password-in çdo herë për të tri tabelat.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  4. Në indeksat duhet të zgjidhen këto:
    — TargetName pĂ«r tabelĂ«n dbo_Devices;

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

    — NodeName ose IPAddress pĂ«r dbo_RegistrationData;

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

    — NodeName ose IPAddress pĂ«r dbo_StatusReport.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  5. Rinuejmë tabelat në MS Access, konkretisht: hiqni prefiksin dbo_ për të lejuar DSC të përdorë ato.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  6. Gati.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  7. Ruani skedarin dhe mbyllni MS Access. Tani kopjoni devices.mdb të pranuar në serverin DSC (në mënyrë default në C:Program FilesWindowsPowershellDSCService) dhe zëvendësoni atë tashmë ekzistues (nëse ka).

Konfigurimi i serverit DSC për përdorimin e SQL

  1. Kthehemi te serveri DSC. Për të u lidhur me SQL-serverin me skedarin tonë proxy, do të krijojmë një lidhje të re ODBC në serverin DSC. Emri, dhe arkitektura, dhe cilësimet e lidhjes duhet të jenë të njëjta si kur krijuam skedarin MDB. Mund të kopjoni skedarin e zbrazët devices.mdb të cilin e kemi konfigurauar më parë këtu.
  2. PĂ«r tĂ« pĂ«rdorur devices.mdb, duhet tĂ« bĂ«ni disa ndryshime nĂ« web.config e serverit tĂ« pyetjes DSC (nĂ« mĂ«nyrĂ« tĂ« paracaktuar – C:inetpubPSDSCPullServerweb.config):

— pĂ«r Windows Server 2012

— pĂ«r Windows Server 2016

Këtu përfundon konfigurimi i serverit DSC.

Verifikimi i funksionimit të serverit DSC

  1. Do ta kontrollojmë nëse serveri DSC është i aksesueshëm përmes shfletuesit web.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  2. Tani do të kontrollojmë nëse funksionon siç duhet serveri i pyetjes DSC. Për këtë, në modulin xPSDesiredStateConfiguration ka skriptin pullserversetuptests.ps1. Para se ta ekzekutoni këtë skript, është e nevojshme të instaloni modulit PowerShell me emrin Pester. E instalojmë atë Install-Module -Name Pester.
  3. Hapim C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfigurationDSCPullServerSetupPullServerDeploymentVerificationTest (në shembuj versioni 8.0.0.0.0).

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  4. Hapim PullServerSetupTests.ps1 dhe kontrollojmë rrugën për web.config të serverit DSC. E kam shënuar me të kuqe rrugën për web.config, e cila do të kontrollohet nga skripti. Nëse është e nevojshme, e ndryshojmë atë rrugë.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  5. E ekzekutojmë pullserversetuptests.ps1
    Invoke-Pester .PullServerSetupTests.ps1
    E gjithë puna është në rregull.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

  6. Në SQL Management Studio shohim se hostet e administruar dërgojnë raporte në serverin e raporteve DSC dhe të dhënat bien në bazën e të dhënave DSC në SQL-server.

    Konfigurimi i GjState të PowerShell dhe limi: pjesa 1. Konfigurimi i Serverit DSC Pull për punë me bazën e të dhënave SQL

Këtu përfundojmë. Në artikelët e ardhshëm planifikoj të flas se si të ndërtojmë raporte me të dhënat që kemi marrë, dhe do të prekem çështje rreth qëndrueshmërisë dhe shkallëzueshmërisë.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster