PowerShell Desired State Configuration (DSC) nyederhanakeun pisan padamelan pikeun nyebarkeun sareng ngonpigurasikeun sistem operasi, peran server, sareng aplikasi nalika anjeun gaduh ratusan server.
Tapi lamun maké DSC on-premises, i.e. teu di MS Azure, aya sababaraha nuances. Utamana katingali upami organisasi ageung (tina 300 workstation sareng server) sareng henteu acan mendakan dunya wadahna:
- Henteu aya laporan lengkep ngeunaan status sistem. Upami konfigurasi anu diperyogikeun teu acan diterapkeun dina sababaraha server, maka tanpa laporan ieu kami moal terang ngeunaan éta. Ieu rada hese pikeun ménta inpo ti diwangun-di server ngalaporkeun, sarta pikeun sajumlah badag host ogé bisa nyandak lila.
- Kurangna skalabilitas sareng kasabaran kasalahan. Teu mungkin pikeun ngawangun hiji tegalan DSC narik web server nu bakal boga database lepat-toleran tunggal jeung neundeun umum file mof pikeun konfigurasi, modul jeung kenop pendaptaran.
Dinten ieu kuring bakal nyaritakeun kumaha anjeun tiasa ngabéréskeun masalah anu munggaran sareng kéngingkeun data pikeun ngalaporkeun. Sagalana bakal leuwih basajan lamun SQL bisa dipaké salaku database a. IBU
Kuring kapanggih metoda ieu: pikeun maranéhanana anu ngagunakeun Windows Server 2012 jeung 2016, Anjeun tiasa
Catetan: Pikeun Windows Server 2016 anjeun kedah nganggo
Kuring moal balik kana detil ngeunaan prosés deploying a DSC tarikan server, eta digambarkeun kacida alusna
-
UseSecurityBestPractices = $false
Upami teu kitu, TLS 1.0 bakal ditumpurkeun sareng anjeun moal tiasa nyambung ka pangkalan data SQL. Kaspersky Security Center ogé moal jalan (masalahna kedah direngsekeun dina Kaspersky Security Center v11).
-
Enable32BitAppOnWin64 = $true
Mun anjeun teu nyieun parobahan ieu, Anjeun moal bisa ngajalankeun AppPool DSC server on Iis kalawan WSUS.
- Nalika masang DSC Server sareng WSUS, mareuman cache statik sareng dinamis pikeun situs DSC.
Hayu urang ngaléngkah ka nyetel server DSC ngagunakeun database SQL.
Nyieun database SQL
- Hayu urang nyieun database SQL kosong ngaranna DSC.
- Hayu urang nyieun rekening pikeun nyambung ka database ieu. Mimiti, pariksa yén pangladén SQL ngamungkinkeun auténtikasi akun Windows sareng SQL.
- Pindah ka bagian Pemetaan Pamaké. Pilih pangkalan data, dina hal ieu DSC. Urang masihan hak nu boga database.
- Rengse.
Nyiptakeun Skéma pikeun Database DSC
Aya dua cara pikeun nyieun skéma pikeun database DSC:
- mandiri, ngaliwatan skrip 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
- data impor ti devices.mdb kosong salaku bagian tina PS modul PSDesiredStateConfiguration ngaliwatan SQL Data Impor Wizard.
Devices.mdb anu bakal urang garap aya dina C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.
- Pikeun ngimpor data, jalankeun Wizard Impor sareng Ékspor SQL Server.
- Kami milih dimana kami bakal kéngingkeun data - bisi kami mangrupikeun pangkalan data Microsoft Access. Klik Next.
- Pilih file ti mana urang ngimpor diagram.
- Kami nunjukkeun dimana ngimpor - pikeun kami éta database SQL.
- Pilih server SQL (Nami Server) sareng pangkalan data dimana urang bakal ngimpor data (DataBase).
- Pilih pilihan Salin data tina hiji atawa leuwih tabel atawa pintonan.
- Urang milih tabel ti mana urang bakal ngimpor schema database.
- Pariksa kotak centang Jalankeun Langsung teras klik Rengse.
- Rengse.
- Hasilna, tabel kudu muncul dina database DSC.
Nyetel hiji .mdb "proxy" file
Nyiptakeun sambungan ODBC ka pangladén SQL. Hal ieu dianggap yén MS Aksés teu dipasang dina server ngajalankeun DSC, jadi nyetel databases.mdb dipigawé dina host panengah jeung MS Aksés dipasang.
Hayu urang nyieun sistem sambungan ODBC ka server SQL (bitness sambungan kudu cocog jeung bitness MS Aksés - 64 atawa 32). Éta tiasa diciptakeun nganggo:
- 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
— atanapi sacara manual, nganggo wizard sambungan:
- Buka Alat Administratif. Kami milih sumber data ODBC gumantung kana versi MS Access anu dipasang. Pindah ka tab System DSN sareng jieun sambungan sistem (Tambahkeun).
- Urang nunjukkeun yén urang bakal nyambung ka server SQL. Klik Rengse.
- Sebutkeun nami sareng server pikeun nyambungkeun. Teras sambungan sareng parameter anu sami kedah didamel dina server DSC.
- Kami nunjukkeun yén pikeun nyambung ka pangladén SQL, kami nganggo login anu didamel sateuacana sareng nami DSC.
- Urang nangtukeun database dina setélan sambungan DSC.
- Klik Rengse.
- Sateuacan ngabéréskeun setélan, kami pariksa yén sambunganna jalan (Sumber Data Tés).
- Rengse.
Nyieun database devices.mdb dina MS Access. Jalankeun MS Access sareng jieun database kosong anu disebut devices.mdb.
- Pindah ka tab Data Eksternal teras klik dina ODBC Database. Dina jandela nu nembongan, pilih Jieun tabel numbu pikeun nyambung ka sumber data.
- Dina jandéla anyar, pilih tab Sumber Data Mesin teras klik OKÉ. Dina jandela nu anyar, asupkeun Kapercayaan pikeun nyambung ka server SQL.
- Pilih tabel anu kedah dikaitkeun. Pariksa kotak Simpen sandi teras klik OK. Simpen sandi unggal waktos kanggo sadaya tilu tabel.
- Dina indéks anjeun kedah milih ieu:
- TargetName pikeun tabel dbo_Devices;
- NodeName atanapi IPAddress pikeun dbo_RegistrationData;
- NodeName atanapi IPAddress pikeun dbo_StatusReport. - Hayu urang ngaganti ngaran tabel dina MS Access, nyaéta: cabut awalan dbo_ sangkan DSC bisa make eta.
- Rengse.
- Simpen file sareng tutup MS Access. Ayeuna urang nyalin device.mdb anu dihasilkeun ka server DSC (sacara standar dina C: Program FilesWindowsPowershellDSCService) jeung ngaganti nu geus aya (lamun aya).
Ngonpigurasikeun DSC Server ngagunakeun SQL
- Urang balik deui ka server DSC. Pikeun nyambung ka server SQL sareng file proxy urang, hayu urang nyieun sambungan ODBC anyar dina server DSC. Ngaran, jero bit, sareng setélan sambungan kedah sami sareng nalika nyiptakeun file MDB. Anjeun tiasa nyalin alat kosong anu parantos dikonpigurasi.mdb ti dieu.
- Pikeun make devices.mdb, Anjeun kudu nyieun parobahan web.config tina DSC pull server (standar nyaéta C: inetpubPSDSCPullServerweb.config):
- pikeun 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;">
- pikeun 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;">
Ieu ngalengkepan setelan server DSC.
Mariksa pungsionalitas server DSC
- Hayu urang parios yén server DSC tiasa diaksés ngalangkungan browser wéb.
- Ayeuna hayu urang pariksa naha DSC pull server berpungsi leres. Jang ngalampahkeun ieu, modul xPSDesiredStateConfiguration ngawengku Aksara pullserversetuptests.ps1. Sateuacan ngajalankeun skrip ieu, anjeun kedah masang modul Powershell anu namina Pester. Pasang éta Pasang-Modul -Name Pester.
- Buka C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (dina conto versi 8.0.0.0.0).
- Buka PullServerSetupTests.ps1 jeung pariksa jalur ka web.config tina server DSC. Jalur ka web.config, anu bakal pariksa naskah, disorot beureum. Upami diperlukeun, urang ngarobah jalur ieu.
- Ngajalankeun pullserversetuptests.ps1
Invoke-Pester.PullServerSetupTests.ps1
Все работает. - Dina SQL Manajemén Studio urang tingali yen sarwa dikaluarkeun ngirim laporan ka server ngalaporkeun DSC sarta data ends up dina database DSC dina server SQL.
Éta hungkul. Dina artikel di handap ieu kuring rencanana ngabejaan ka maneh kumaha ngawangun laporan dina data diala, sarta kuring bakal noél dina masalah ngeunaan kasabaran sesar tur scalability.
sumber: www.habr.com