Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

Mae PowerShell Desired State Configuration (DSC) yn symleiddio'n fawr y gwaith o leoli a ffurfweddu'r system weithredu, rolau gweinyddwyr, a chymwysiadau pan fydd gennych gannoedd o weinyddion.

Ond wrth ddefnyddio DSC ar y safle, h.y. nid yn MS Azure, mae yna un neu ddau o arlliwiau. Maent yn arbennig o amlwg os yw'r sefydliad yn fawr (o 300 o weithfannau a gweinyddwyr) ac nad yw wedi darganfod byd cynwysyddion eto:

  • Nid oes adroddiadau llawn ar statws systemau. Os nad yw'r cyfluniad gofynnol wedi'i gymhwyso ar rai gweinyddwyr, yna heb yr adroddiadau hyn ni fyddwn yn gwybod amdano. Mae'n eithaf anodd cael gwybodaeth gan y gweinydd adrodd adeiledig, ac i nifer fawr o westeion gall gymryd amser hir hefyd.
  • Yn brin o scalability a goddefgarwch namau. Mae'n amhosibl adeiladu fferm o weinyddion gwe tynnu DSC a fyddai ag un gronfa ddata sy'n goddef namau a storfa gyffredin o ffeiliau mof ar gyfer ffurfweddiadau, modiwlau ac allweddi cofrestru.

Heddiw byddaf yn dweud wrthych sut y gallwch ddatrys y broblem gyntaf a chael data ar gyfer adrodd. Byddai popeth yn symlach pe bai modd defnyddio SQL fel cronfa ddata. MS addewidion cefnogaeth adeiledig yn unig yn Windows Server 2019 neu yn adeiladu gweinydd Windows 1803. Nôl data gan ddefnyddio darparwr OleDB hefyd yn methuoherwydd bod Gweinyddwr DSC yn defnyddio paramedr a enwir nad yw'n cael ei gefnogi'n llawn gan OleDbCommand.

Deuthum o hyd i'r dull hwn: ar gyfer y rhai sy'n defnyddio Windows Server 2012 a 2016, gallwch chi sefydlu defnyddio cronfa ddata SQL fel backend ar gyfer y gweinydd ymholiadau DSC. I wneud hyn, byddwn yn creu “procsi” ar ffurf ffeil .mdb gyda thablau cysylltiedig, a fydd yn ailgyfeirio'r data a dderbyniwyd o adroddiadau cleientiaid i gronfa ddata gweinydd SQL.

Nodyn: Ar gyfer Windows Server 2016 mae'n rhaid i chi ei ddefnyddio AccessDatabaseEngine2016x86oherwydd nid yw Microsoft.Jet.OLEDB.4.0 yn cael ei gefnogi mwyach.

Nid af i fanylion am y broses o ddefnyddio gweinydd tynnu DSC, mae wedi'i ddisgrifio'n dda iawn yma. Nodaf un neu ddau o bwyntiau. Os byddwn yn defnyddio'r tynnwr DSC ar yr un gweinydd gwe â WSUS neu Kaspersky Security Center, yna yn y sgript creu cyfluniad mae angen i ni newid y paramedrau canlynol:

  1. UseSecurityBestPractices     = $false

    Fel arall, bydd TLS 1.0 yn anabl ac ni fyddwch yn gallu cysylltu â chronfa ddata SQL. Ni fydd Canolfan Ddiogelwch Kaspersky hefyd yn gweithio (dylid datrys y broblem yn Kaspersky Security Center v11).

  2. Enable32BitAppOnWin64   = $true

    Os na wnewch y newid hwn, ni fyddwch yn gallu rhedeg y gweinydd AppPool DSC ar IIS gyda WSUS.

  3. Wrth osod Gweinydd DSC gyda WSUS, analluoga caching statig a deinamig ar gyfer y safle DSC.

Gadewch i ni symud ymlaen i sefydlu'r gweinydd DSC i ddefnyddio cronfa ddata SQL.

Creu Cronfa Ddata SQL

  1. Gadewch i ni greu cronfa ddata SQL wag o'r enw DSC.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  2. Gadewch i ni greu cyfrif i gysylltu â'r gronfa ddata hon. Yn gyntaf, gwiriwch fod y gweinydd SQL yn caniatáu dilysu cyfrifon Windows a SQL.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  3. Ewch i'r adran Mapio Defnyddwyr. Dewiswch y gronfa ddata, yn yr achos hwn DSC. Rydym yn rhoi hawliau perchennog y gronfa ddata.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  4. Wedi'i wneud.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

Creu Sgema ar gyfer Cronfa Ddata DSC

Mae dwy ffordd o greu sgema ar gyfer cronfa ddata DSC:

  • yn annibynnol, trwy sgript 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
  • mewnforio data o devices.mdb gwag fel rhan o'r modiwl PS PSDesiredStateConfiguration trwy'r Dewin Mewnforio Data SQL.

    Mae'r Devices.mdb y byddwn yn gweithio gyda nhw wedi'i leoli yn C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. I fewnforio data, rhedeg y Dewin Mewnforio ac Allforio Gweinydd SQL.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  2. Rydym yn dewis o ble y byddwn yn cael y data - yn ein hachos ni, cronfa ddata Microsoft Access ydyw. Cliciwch Nesaf.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  3. Dewiswch y ffeil yr ydym yn mewnforio'r diagram ohoni.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  4. Rydym yn nodi ble i fewnforio - i ni, cronfa ddata SQL ydyw.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  5. Dewiswch y gweinydd SQL (Enw'r Gweinydd) a'r gronfa ddata y byddwn yn mewnforio data iddi (Cronfa Ddata).

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  6. Dewiswch yr opsiwn Copïo data o un neu fwy o dablau neu olygfeydd (copïo data o dablau neu olygfeydd).

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  7. Rydym yn dewis y tablau y byddwn yn mewnforio sgema'r gronfa ddata ohonynt.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  8. Gwiriwch y blwch ticio Rhedeg ar unwaith a chliciwch Gorffen.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  9. Wedi'i wneud.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  10. O ganlyniad, dylai tablau ymddangos yn y gronfa ddata DSC.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

Sefydlu ffeil “procsi” .mdb

Creu cysylltiad ODBC i weinydd SQL. Tybir nad yw MS Access wedi'i osod ar y gweinydd sy'n rhedeg DSC, felly mae sefydlu cronfeydd data.mdb yn cael ei wneud ar westeiwr canolradd gyda MS Access wedi'i osod.

Gadewch i ni greu cysylltiad ODBC system i'r gweinydd SQL (rhaid i'r bitness cysylltiad gyd-fynd â bitness MS Access - 64 neu 32). Gellir ei greu gan ddefnyddio:
- 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

— neu â llaw, gan ddefnyddio'r dewin cysylltiad:

  1. Offer Gweinyddol Agored. Rydym yn dewis ffynonellau data ODBC yn dibynnu ar y fersiwn o MS Access sydd wedi'i osod. Ewch i'r tab System DSN a chreu cysylltiad system (Ychwanegu).

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  2. Rydym yn nodi y byddwn yn cysylltu â'r gweinydd SQL. Cliciwch Gorffen.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  3. Nodwch yr enw a'r gweinydd i gysylltu ag ef. Yna bydd angen creu cysylltiad â'r un paramedrau ar y gweinydd DSC.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  4. Rydym yn nodi, i gysylltu â'r gweinydd SQL, ein bod yn defnyddio mewngofnodi a grëwyd yn flaenorol gyda'r enw DSC.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  5. Rydym yn nodi'r gronfa ddata yn y gosodiadau cysylltiad DSC.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  6. Cliciwch Gorffen.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  7. Cyn cwblhau'r gosodiad, rydym yn gwirio bod y cysylltiad yn gweithio (Ffynhonnell Data Prawf).

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  8. Wedi'i wneud.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

Creu cronfa ddata devices.mdb yn MS Access. Lansio MS Access a chreu cronfa ddata wag o'r enw devices.mdb.

Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  1. Ewch i'r tab Data Allanol a chliciwch ar Gronfa Ddata ODBC. Yn y ffenestr sy'n ymddangos, dewiswch Creu tabl cysylltiedig i gysylltu â'r ffynhonnell ddata.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  2. Yn y ffenestr newydd, dewiswch y tab Ffynhonnell Data Peiriant a chliciwch Iawn. Yn y ffenestr newydd, nodwch y tystlythyrau i gysylltu â'r gweinydd SQL.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  3. Dewiswch y tablau sydd angen eu cysylltu. Gwiriwch y blwch Cadw cyfrinair a chliciwch Iawn. Arbedwch y cyfrinair bob tro ar gyfer y tri thabl.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  4. Yn y mynegeion mae angen i chi ddewis y canlynol:
    — TargetName ar gyfer y tabl dbo_Devices;

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

    — NodeName neu IPAddress ar gyfer dbo_RegistrationData;

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

    — NodeName neu IPAddress ar gyfer dbo_StatusReport.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  5. Gadewch i ni ailenwi'r tablau yn MS Access, sef: dileu'r rhagddodiad dbo_ fel y gall DSC eu defnyddio.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  6. Wedi'i wneud.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  7. Arbedwch y ffeil a chau MS Access. Nawr rydym yn copïo'r devices.mdb canlyniadol i'r gweinydd DSC (yn ddiofyn yn C: Program FilesWindowsPowershellDSCService) a disodli'r un presennol ag ef (os yw'n bodoli).

Ffurfweddu Gweinydd DSC i Ddefnyddio SQL

  1. Rydym yn dychwelyd i'r gweinydd DSC. I gysylltu â'r gweinydd SQL gyda'n ffeil dirprwy, gadewch i ni greu cysylltiad ODBC newydd ar y gweinydd DSC. Rhaid i'r enw, dyfnder did, a gosodiadau cysylltiad fod yr un fath ag wrth greu'r ffeil MDB. Gallwch gopïo'r dyfeisiau gwag sydd eisoes wedi'u ffurfweddu.mdb o'r fan hon.
  2. I ddefnyddio devices.mdb, mae angen i chi wneud newidiadau i web.config y gweinydd tynnu DSC (rhagosodedig yw C:inetpubPSDSCPullServerweb.config):

- ar gyfer 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;">

- ar gyfer 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;">

Mae hyn yn cwblhau gosodiad y gweinydd DSC.

Gwirio ymarferoldeb y gweinydd DSC

  1. Gadewch i ni wirio bod y gweinydd DSC yn hygyrch trwy borwr gwe.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  2. Nawr, gadewch i ni wirio a yw'r gweinydd tynnu DSC yn gweithio'n gywir. I wneud hyn, mae modiwl xPSDesiredStateConfiguration yn cynnwys y sgript pullserversetuptests.ps1. Cyn rhedeg y sgript hon, rhaid i chi osod modiwl Powershell o'r enw Pester. Ei osod Gosod-Modiwl -Name Pester.
  3. Agor C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<fersiwn y modiwl>DSCPullServerSetupPullServerDeploymentVerificationTest (fersiwn 8.0.0.0.0 yn yr enghraifft).

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  4. Agorwch PullServerSetupTests.ps1 a gwiriwch y llwybr i web.config y gweinydd DSC. Mae'r llwybr i web.config, a fydd yn gwirio'r sgript, wedi'i amlygu mewn coch. Os oes angen, byddwn yn newid y llwybr hwn.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

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

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

  6. Yn SQL Management Studio gwelwn fod gwesteiwyr a weinyddir yn anfon adroddiadau at weinydd adrodd y DSC ac mae'r data'n dod i ben yn y gronfa ddata DSC ar y gweinydd SQL.

    Ffurfweddiad a ffeil Cyflwr Dymunol PowerShell: rhan 1. Ffurfweddu Gweinydd Pull DSC i weithio gyda chronfa ddata SQL

Dyna i gyd. Yn yr erthyglau canlynol rwy'n bwriadu dweud wrthych sut i adeiladu adroddiadau ar y data a gafwyd, a byddaf yn cyffwrdd â materion yn ymwneud â goddefgarwch namau a scalability.

Ffynhonnell: hab.com

Ychwanegu sylw