PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

PowerShell Desired State Configuration (DSC) нь танд олон зуун сервертэй үед үйлдлийн систем, серверийн үүрэг, програмуудыг байршуулах, тохируулах ажлыг ихээхэн хялбаршуулдаг.

Гэхдээ DSC-г газар дээр нь ашиглах үед, i.e. MS Azure-д биш, хэд хэдэн нюанс байдаг. Байгууллага том (300 ажлын станц, серверээс) бөгөөд контейнерийн ертөнцийг хараахан нээж амжаагүй бол эдгээр нь ялангуяа мэдэгдэхүйц юм.

  • Системийн төлөв байдлын талаар бүрэн тайлан байхгүй байна. Хэрэв зарим сервер дээр шаардлагатай тохиргоо хийгдээгүй бол эдгээр тайлангүйгээр бид энэ талаар мэдэхгүй байх болно. Суурилуулсан тайлагнах серверээс мэдээлэл авах нь нэлээд хэцүү бөгөөд олон тооны хостуудын хувьд энэ нь бас удаан хугацаа шаарддаг.
  • Өргөтгөх чадвар, алдааг тэсвэрлэх чадвар дутмаг. Ганц гэмтэлд тэсвэртэй мэдээллийн сан, тохиргоо, модуль, бүртгэлийн түлхүүрүүдэд зориулсан mof файлуудын нийтлэг хадгалалттай байх DSC татах вэб серверүүдийн ферм байгуулах боломжгүй юм.

Өнөөдөр би танд эхний асуудлыг хэрхэн шийдэж, тайлагнах өгөгдлийг олж авах талаар хэлэх болно. Хэрэв SQL-ийг мэдээллийн сан болгон ашиглаж чадвал бүх зүйл илүү хялбар байх болно. MS амлалтууд Зөвхөн Windows Server 2019 эсвэл Windows Server 1803-д суурилуулсан дэмжлэг. OleDB үйлчилгээ үзүүлэгчийг ашиглан өгөгдөл татаж авах боломжтой. ажиллахгүйУчир нь DSC сервер нь OleDbCommand-ээр бүрэн дэмжигдээгүй нэртэй параметрийг ашигладаг.

Би энэ аргыг олсон: Windows Server 2012 болон 2016 ашигладаг хүмүүст та боломжтой тохируулах SQL мэдээллийн санг DSC асуулгын серверийн арын хэсэг болгон ашиглах. Үүнийг хийхийн тулд бид холбогдох хүснэгтүүд бүхий .mdb файл хэлбэрээр "прокси" үүсгэх бөгөөд энэ нь үйлчлүүлэгчийн тайлангаас хүлээн авсан өгөгдлийг SQL серверийн мэдээллийн сан руу дахин чиглүүлэх болно.

Тайлбар: Windows Server 2016-ийн хувьд та ашиглах ёстой AccessDatabaseEngine2016x86Учир нь Microsoft.Jet.OLEDB.4.0 дэмжигдэхээ больсон.

Би DSC татах серверийг байрлуулах үйл явцын талаар дэлгэрэнгүй ярихгүй, үүнийг маш сайн тайлбарласан болно энд. Би хэдхэн зүйлийг тэмдэглэх болно. Хэрэв бид DSC татагчийг WSUS эсвэл Kaspersky Security Center-тэй нэг вэб сервер дээр байрлуулбал тохиргоог үүсгэх скриптэд бид дараах параметрүүдийг өөрчлөх шаардлагатай.

  1. UseSecurityBestPractices     = $false

    Үгүй бол TLS 1.0 идэвхгүй болж, та SQL мэдээллийн сантай холбогдох боломжгүй болно. Kaspersky Security Center бас ажиллахгүй (асуудлыг Kaspersky Security Center v11 дээр шийдэх ёстой).

  2. Enable32BitAppOnWin64   = $true

    Хэрэв та энэ өөрчлөлтийг хийхгүй бол IIS дээр AppPool DSC серверийг WSUS-тай ажиллуулах боломжгүй болно.

  3. WSUS-тай DSC серверийг суулгахдаа DSC сайтын статик болон динамик кэшийг идэвхгүй болго.

SQL мэдээллийн санг ашиглахын тулд DSC серверийн тохиргоог үргэлжлүүлье.

SQL мэдээллийн сан үүсгэх

  1. DSC нэртэй хоосон SQL мэдээллийн сан үүсгэцгээе.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  2. Энэ мэдээллийн санд холбогдохын тулд бүртгэл үүсгэцгээе. Эхлээд SQL сервер нь Windows болон SQL акаунтуудыг баталгаажуулахыг зөвшөөрдөг эсэхийг шалгана уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  3. Хэрэглэгчийн зураглал хэсэг рүү очно уу. Өгөгдлийн санг сонгоно уу, энэ тохиолдолд DSC. Бид мэдээллийн сангийн эзэмшигчийн эрхийг өгдөг.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  4. Үүнийг хийлээ.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

DSC мэдээллийн сангийн схемийг үүсгэх

DSC мэдээллийн сангийн схемийг үүсгэх хоёр арга бий:

  • бие даан, 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
  • SQL Data Import Wizard-ээр дамжуулан PSDesiredStateConfiguration PS модулийн нэг хэсэг болгон хоосон devices.mdb-ээс өгөгдлийг импортлох.

    Бидний ажиллах Devices.mdb нь C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer дотор байрладаг.

  1. Өгөгдөл импортлохын тулд SQL Server Импорт, Экспортын хөтөчийг ажиллуулна уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  2. Бид өгөгдлийг хаанаас авахаа сонгодог - бидний тохиолдолд энэ нь Microsoft Access мэдээллийн сан юм. Дараа нь дарна уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  3. Диаграмыг импортлох файлыг сонгоно уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  4. Бид хаана импортлохыг зааж өгдөг - бидний хувьд энэ нь SQL мэдээллийн сан юм.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  5. SQL сервер (Серверийн нэр) болон өгөгдөл импортлох мэдээллийн санг (DataBase) сонгоно уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  6. Нэг буюу хэд хэдэн хүснэгт эсвэл харагдацаас өгөгдлийг хуулах (хүснэгт эсвэл харагдацаас өгөгдлийг хуулах) сонголтыг сонгоно уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  7. Бид мэдээллийн сангийн схемийг импортлох хүснэгтүүдийг сонгоно.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  8. "Шууд ажиллуул" гэсэн нүдийг сонгоод Finish дээр дарна уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  9. Үүнийг хийлээ.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  10. Үүний үр дүнд хүснэгтүүд DSC мэдээллийн санд гарч ирэх ёстой.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

.mdb "прокси" файлыг тохируулж байна

SQL сервертэй ODBC холболт үүсгэх. DSC ажиллаж байгаа сервер дээр MS Access суулгаагүй гэж үздэг тул databases.mdb-г тохируулах нь MS Access суулгасан завсрын хост дээр хийгддэг.

SQL сервертэй системийн ODBC холболт үүсгэцгээе (холболтын бит нь MS Access-ийн бит - 64 эсвэл 32-той тохирч байх ёстой). Үүнийг ашиглан үүсгэж болно:
- 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

— эсвэл холболтын мастерыг ашиглан гараар:

  1. Захиргааны хэрэгслийг нээнэ үү. Бид суулгасан MS Access-ийн хувилбараас хамааран ODBC мэдээллийн эх сурвалжийг сонгоно. Системийн DSN таб руу очиж системийн холболт үүсгэнэ үү (Нэмэх).

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  2. Бид SQL серверт холбогдох болно гэдгээ илэрхийлж байна. Finish дээр дарна уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  3. Холбох нэр болон серверээ зааж өгнө үү. Дараа нь DSC сервер дээр ижил параметртэй холболт үүсгэх шаардлагатай болно.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  4. Бид SQL серверт холбогдохын тулд DSC нэртэй өмнө нь үүсгэсэн нэвтрэлт ашигладаг болохыг харуулж байна.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  5. Бид мэдээллийн баазыг DSC холболтын тохиргоонд зааж өгдөг.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  6. Finish дээр дарна уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  7. Тохиргоог дуусгахын өмнө бид холболт ажиллаж байгаа эсэхийг шалгана (Тестийн мэдээллийн эх сурвалж).

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  8. Үүнийг хийлээ.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

MS Access дээр devices.mdb мэдээллийн сан үүсгэх. MS Access програмыг ажиллуулаад devices.mdb нэртэй хоосон мэдээллийн сан үүсгэнэ.

PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  1. Гадаад мэдээллийн таб руу очоод ODBC мэдээллийн сан дээр дарна уу. Гарч ирэх цонхноос өгөгдлийн эх сурвалжтай холбогдохын тулд Холбоостой хүснэгт үүсгэхийг сонгоно уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  2. Шинэ цонхонд Машины мэдээллийн эх сурвалж табыг сонгоод OK дарна уу. Шинэ цонхонд SQL серверт холбогдохын тулд итгэмжлэлүүдийг оруулна уу.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  3. Холбох шаардлагатай хүснэгтүүдийг сонгоно уу. Нууц үг хадгалах нүдийг сонгоод OK дарна уу. Бүх гурван хүснэгтэд нууц үгээ хадгал.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  4. Индексүүдээс та дараахь зүйлийг сонгох хэрэгтэй.
    — dbo_Devices хүснэгтийн TargetName;

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

    — dbo_RegistrationData-д зориулсан NodeName эсвэл IPAddress;

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

    — dbo_StatusReport-д зориулсан NodeName эсвэл IPAddress.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  5. MS Access дээрх хүснэгтүүдийн нэрийг өөрчилье, тухайлбал: dbo_ угтварыг устгаснаар DSC тэдгээрийг ашиглах боломжтой болно.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  6. Үүнийг хийлээ.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  7. Файлыг хадгалаад MS Access-ийг хаа. Одоо бид үүссэн devices.mdb-г DSC сервер рүү хуулж (анхдагчаар C: Program FilesWindowsPowershellDSCService) одоо байгаа нэгийг нь (хэрэв байгаа бол) солино.

DSC серверийг SQL ашиглахаар тохируулж байна

  1. Бид DSC сервер рүү буцна. Манай прокси файлаар SQL серверт холбогдохын тулд DSC сервер дээр шинэ ODBC холболт үүсгэцгээе. Нэр, битийн гүн, холболтын тохиргоо нь MDB файлыг үүсгэхтэй ижил байх ёстой. Та эндээс тохируулсан хоосон devices.mdb-г хуулж болно.
  2. devices.mdb-г ашиглахын тулд та DSC татах серверийн web.config-д өөрчлөлт оруулах шаардлагатай (өгөгдмөл нь C:inetpubPSDSCPullServerweb.config):

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

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

Энэ нь DSC серверийн тохиргоог дуусгана.

DSC серверийн ажиллагааг шалгаж байна

  1. DSC серверт вэб хөтчөөр нэвтрэх боломжтой эсэхийг шалгацгаая.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  2. Одоо DSC татах сервер зөв ажиллаж байгаа эсэхийг шалгацгаая. Үүнийг хийхийн тулд xPSDesiredStateConfiguration модуль нь pullserversetuptests.ps1 скриптийг агуулдаг. Энэ скриптийг ажиллуулахын өмнө та Pester нэртэй Powershell модулийг суулгах ёстой. Үүнийг суулгана уу Install-Module -Нэр Pester.
  3. C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<модуль хувилбар>DSCPullServerSetupPullServerDeploymentVerificationTest-ийг нээнэ үү (жишээ нь 8.0.0.0.0 хувилбар дээр).

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  4. PullServerSetupTests.ps1-г нээж, DSC серверийн web.config руу очих замыг шалгана уу. Скриптийг шалгах web.config замыг улаанаар тодруулсан. Шаардлагатай бол бид энэ замыг өөрчилнө.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  5. pullserversetuptests.ps1-г ажиллуул
    Invoke-Pester.PullServerSetupTests.ps1
    Все работает.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

  6. SQL Management Studio дээр бид удирддаг хостууд DSC тайлангийн сервер рүү тайлан илгээж, өгөгдөл нь SQL сервер дээрх DSC мэдээллийн санд дуусдаг болохыг харж байна.

    PowerShell-ийн хүссэн төлөвийн тохиргоо ба файл: 1-р хэсэг. SQL мэдээллийн сантай ажиллахын тулд DSC татах серверийг тохируулах

Тэгээд л болоо. Дараах нийтлэлүүдэд би олж авсан өгөгдлөөр хэрхэн тайлан гаргах талаар танд хэлэхээр төлөвлөж байгаа бөгөөд алдааны тэсвэрлэх чадвар, өргөтгөх чадварын талаархи асуудлуудыг хөндөх болно.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх