PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

O le PowerShell Desired State Configuration (DSC) e fa'afaigofie tele le galuega o le fa'atinoina ma le fa'atulagaina o le faiga fa'agaioia, matafaioi a le 'au'aunaga, ma talosaga pe a maua au 'au'aunaga.

Ae a faʻaaogaina le DSC i luga ole fale, i.e. e le o MS Azure, o loʻo i ai ni nai nuances. E sili ona maitauina pe a tele le faʻalapotopotoga (mai le 300 fale faigaluega ma 'auʻaunaga) ma e leʻi mauaina le lalolagi o koneteina:

  • E leai ni lipoti atoa i le tulaga o faiga. Afai e leʻi faʻaogaina le faʻatulagaina manaʻomia i luga o nisi o 'auʻaunaga, a aunoa ma nei lipoti matou te le iloa e uiga i ai. E fai lava si faigata ona maua faʻamatalaga mai le faʻapipiʻiina o lipoti, ma mo se numera tele o 'au e mafai foi ona umi se taimi.
  • Leai se scalability ma fa'apalepale sese. E le mafai ona fausia se fa'ato'aga a le DSC toso 'upega tafa'ilagi e maua ai se fa'amaumauga e tasi e fa'apalepale fa'aletonu ma se fa'aputu masani o faila mof mo fa'atonuga, modules ma ki resitala.

O le asō o le a ou taʻuina atu ia te oe le auala e mafai ai ona e foia le faʻafitauli muamua ma maua faʻamatalaga mo lipoti. E faigofie mea uma pe a mafai ona faʻaaogaina SQL e fai ma faʻamaumauga. MS folafolaga na'o totonu o le Windows Server 2019 po'o le fausiaina o le Windows server 1803. Ave fa'amaumauga e fa'aaoga ai fo'i le kamupani OleDB. o le a toilaloona o le DSC Server e faʻaaogaina se faʻailoga igoa e leʻo lagolagoina atoatoa e OleDbCommand.

Na ou mauaina lenei metotia: mo i latou e faʻaaogaina le Windows Server 2012 ma le 2016, e mafai seti fa'aaogaina se fa'amaumauga SQL e fai ma tua'oi mo le DSC fesili su'esu'e. Ina ia faia lenei mea, o le a matou fatuina se "proxy" i le tulaga o se faila .mdb faʻatasi ai ma laulau e fesoʻotaʻi, lea o le a toe faʻafeiloaʻi ai faʻamatalaga na maua mai lipoti a le tagata o tausia i le database server SQL.

Manatua: Mo Windows Server 2016 e tatau ona e faʻaogaina AccessDatabaseEngine2016x86aua ua le toe lagolagoina le Microsoft.Jet.OLEDB.4.0.

O le a ou le faʻamatalaina auiliili e uiga i le faʻagasologa o le faʻaogaina o se DSC toso server, o loʻo faʻamatalaina lelei iinei. O le a ou matauina ni nai manatu. Afai matou te faʻaogaina le DSC puller i luga o le upega tafaʻilagi tutusa ma le WSUS poʻo le Kaspersky Security Center, ona i ai lea i le faʻasologa o faʻasologa o tusitusiga e manaʻomia ona tatou suia mea nei:

  1. UseSecurityBestPractices     = $false

    A leai, TLS 1.0 o le a fa'aletonu ma o le a le mafai ona e fa'afeso'ota'i i le SQL database. Kaspersky Security Center e le aoga foi (e tatau ona foia le faafitauli ile Kaspersky Security Center v11).

  2. Enable32BitAppOnWin64   = $true

    Afai e te le faia lenei suiga, o le a le mafai ona e faʻaogaina le AppPool DSC server ile IIS ma WSUS.

  3. A fa'apipi'i le DSC Server ma le WSUS, fa'amalo le fa'aogaina ma le fa'amalosi mo le DSC site.

Sei o tatou agai i luma i le setiina o le DSC server e faaaoga ai le SQL database.

Fausia se database SQL

  1. Se'i tatou faia se database SQL gaogao e igoa DSC.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  2. Se'i o tatou faia se tala e fa'afeso'ota'i i lenei fa'amaumauga. Muamua, siaki o le SQL server e faʻatagaina le faʻamaonia o faʻamatalaga uma a Windows ma SQL.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  3. Alu i le vaega Fa'afanua User. Filifili le database, i lenei tulaga DSC. Matou te tuʻuina atu aia tatau a le pule faʻamaumauga.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  4. Ua faia.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

Fausia se Fuafuaga mo le DSC Database

E lua auala e fai ai se fuafuaga mo se DSC database:

  • tutoatasi, e ala i se tusitusiga 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
  • fa'aulufale mai fa'amatalaga mai masini gaogao.mdb o se vaega o le PS module PSDesiredStateConfiguration e ala i le SQL Data Import Wizard.

    O le Devices.mdb o le a matou galulue ai o loʻo maua ile C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.

  1. Ina ia fa'aulufale mai fa'amaumauga, fa'agasolo le SQL Server Import and Export Wizard.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  2. Matou te filifilia le mea matou te maua mai ai faʻamatalaga - i la matou tulaga o le Microsoft Access database. Kiliki le Next.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  3. Filifili le faila lea matou te faʻaulu mai ai le ata.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  4. Matou te faʻaalia le mea e faʻaulufale mai - mo matou o se SQL database.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  5. Filifili le SQL server (Server Name) ma le database lea o le a matou faʻaulufale mai ai faʻamaumauga (DataBase).

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  6. Filifili le filifiliga Kopi faʻamatalaga mai se tasi pe sili atu laulau poʻo vaaiga (kopi faʻamaumauga mai laulau poʻo vaaiga).

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  7. Matou te filifilia laulau o le a matou faʻaulufale mai ai le faʻasologa o faʻamaumauga.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  8. Siaki le Pusa Fa'auta vave ma kiliki Fa'auma.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  9. Ua faia.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  10. O le i'uga, e tatau ona fa'aalia laulau i le DSC database.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

Faʻatulagaina se faila .mdb "proxy".

Fausia se feso'ota'iga ODBC i se SQL server. E fa'apea e le'o fa'apipi'iina le MS Access i luga o le 'au'aunaga o lo'o fa'agaoioia le DSC, o lea e fa'atūina ai databases.mdb i luga o se 'au fa'alavelave fa'atasi ma MS Access fa'apipi'i.

Sei o tatou faia se faiga ODBC feso'ota'iga i le SQL server (o le feso'ota'iga bitness e tatau ona fetaui ma le MS Access bitness - 64 po'o le 32). E mafai ona faia e faʻaaoga ai:
- 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

- po'o le lima, fa'aaoga le wizard feso'ota'iga:

  1. Tatala meafaigaluega Fa'atonu. Matou te filifilia faʻamatalaga faʻamatalaga ODBC e faʻatatau i le faʻaogaina o le MS Access faʻapipiʻi. Alu i le System DSN tab ma fatuina se fesoʻotaʻiga faʻaoga (Faʻaopoopo).

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  2. Matou te faʻaalia o le a matou faʻafesoʻotaʻi i le SQL server. Kiliki Fa'auma.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  3. Fa'ailoa le igoa ma le server e fa'afeso'ota'i i ai. Ona manaʻomia lea ona faia se fesoʻotaʻiga ma faʻamaufaʻailoga tutusa i luga o le DSC server.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  4. Matou te faʻaalia e faʻafesoʻotaʻi i le SQL server, matou te faʻaogaina se saini na faia muamua ma le igoa DSC.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  5. Matou te faʻamaonia le faʻamaumauga i le DSC fesoʻotaʻiga tulaga.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  6. Kiliki Fa'auma.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  7. Aʻo leʻi faʻamaeʻaina le seti, matou te siakiina o loʻo galue le fesoʻotaʻiga (Suʻega Faʻamatalaga Faʻamatalaga).

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  8. Ua faia.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

Fausia se masini.mdb database ile MS Access. Tatala MS Access ma fai se fa'amaumauga gaogao e ta'ua o devices.mdb.

PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  1. Alu i le Faʻamatalaga Faʻamatalaga Faʻamatalaga ma kiliki ile ODBC Database. I le faamalama o loʻo faʻaalia, filifili Fausia se laulau fesoʻotaʻi e faʻafesoʻotaʻi i le puna o faʻamatalaga.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  2. I le faʻamalama fou, filifili le Masini Faʻamatalaga Source tab ma kiliki OK. I le faʻamalama fou, ulufale i faʻamaoniga e faʻafesoʻotaʻi i le SQL server.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  3. Filifili laulau e manaʻomia ona faʻafesoʻotaʻi. Siaki le pusa Save password ma kiliki le OK. Faasaoina le upu faataga i taimi taitasi mo laulau uma e tolu.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  4. I fa'asinomaga e tatau ona e filifilia mea nei:
    — TargetName mo le laulau dbo_Devices;

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

    - NodeName poʻo IPAddress mo dbo_RegistrationData;

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

    - NodeName poʻo IPAddress mo dbo_StatusReport.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  5. Se'i toe fa'aigoa laulau ile MS Access, e ta'ua: aveese le dbo_ prefix ina ia mafai e le DSC ona fa'aoga.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  6. Ua faia.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  7. Sefe le faila ma tapuni MS Access. O lea matou te kopiina ai masini.mdb i le DSC server (e ala i le faaletonu i C: Program FilesWindowsPowershellDSCService) ma sui le mea o loʻo i ai (pe a iai).

Fa'atulagaina le DSC Server e fa'aoga ai le SQL

  1. Matou te toe foʻi i le DSC server. Ina ia faʻafesoʻotaʻi i le SQL server ma la matou faila sui, seʻi o tatou faia se fesoʻotaʻiga fou ODBC i luga o le DSC server. Ole igoa, vaega loloto, ma feso'ota'iga e tatau ona tutusa ma le taimi e fatuina ai le faila MDB. E mafai ona e kopiina le masini masini.mdb ua uma ona faʻatulagaina mai iinei.
  2. Ina ia fa'aoga devices.mdb, e tatau ona e faia suiga ile web.config o le DSC pull server (default o C:inetpubPSDSCPullServerweb.config):

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

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

Ua mae'a le seti DSC server.

Siaki le fa'atinoga o le DSC server

  1. Sei o tatou siaki o le DSC server e mafai ona maua e ala i se upega tafaʻilagi.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  2. Se'i o tatou siaki pe o galue lelei le DSC pull server. Ina ia faia lenei mea, o le xPSDesiredStateConfiguration module e aofia ai le pullserversetuptests.ps1 script. A'o le'i fa'atinoina le fa'amatalaga, e tatau ona e fa'apipi'i se fa'aoga Powershell e igoa ia Pester. Faʻapipiʻi Faʻapipiʻi-Module -Name Pester.
  3. Tatala C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (i le faataitaiga version 8.0.0.0.0).

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  4. Tatala PullServerSetupTests.ps1 ma siaki le ala i le web.config o le DSC server. O le ala i le web.config, lea o le a siaki le tusitusiga, o loʻo faʻamaonia i le mumu. Afai e tatau ai, matou te suia lenei ala.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

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

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

  6. I totonu o le SQL Management Studio matou te vaʻai ai o loʻo tuʻuina atu e le au pulega le lipoti i le DSC lipoti server ma o faʻamaumauga e muta i le DSC database i luga o le SQL server.

    PowerShell Mana'omia Setete Fa'atonuga ma faila: vaega 1. Fa'atulagaina le DSC Pull Server e galue ma se database SQL

Pau lava lena. I tala o loʻo mulimuli mai, ou te fuafua e taʻu atu ia te oe le auala e fausia ai lipoti i luga o faʻamaumauga na maua, ma o le a ou paʻi atu i mataupu e uiga i le faʻapalepale sese ma le faʻalauteleina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga