PowerShell Desired State Configuration (DSC) nyederhanakake tugas nyebarake lan ngatur sistem operasi, peran server, lan aplikasi nalika sampeyan duwe atusan server.
Nanging nalika nggunakake DSC ing panggonan, i.e. ora ing MS Azure, ana saperangan saka nuansa. Utamane katon yen organisasi gedhe (saka 300 stasiun kerja lan server) lan durung nemokake jagad kontaner:
- Ora ana laporan lengkap babagan status sistem. Yen konfigurasi sing dibutuhake durung ditrapake ing sawetara server, mula tanpa laporan kasebut, kita ora bakal ngerti babagan iki. Iku cukup angel kanggo njupuk informasi saka server Reporting dibangun ing, lan kanggo nomer akeh host uga bisa njupuk wektu dawa.
- Kurang skalabilitas lan toleransi kesalahan. Iku mokal kanggo mbangun farm DSC narik server web sing bakal duwe database fault-toleran siji lan panyimpenan umum file mof kanggo konfigurasi, modul lan tombol registrasi.
Dina iki aku bakal pitutur marang kowe carane sampeyan bisa ngatasi masalah pisanan lan njaluk data kanggo laporan. Kabeh bakal luwih gampang yen SQL bisa digunakake minangka basis data. MS
Aku nemokake cara iki: kanggo sing nggunakake Windows Server 2012 lan 2016, sampeyan bisa
Cathetan: Kanggo Windows Server 2016 sampeyan kudu nggunakake
Aku ora bakal pindhah menyang rinci bab proses deploying DSC narik server, iku banget uga diterangake
-
UseSecurityBestPractices = $false
Yen ora, TLS 1.0 bakal dipateni lan sampeyan ora bisa nyambung menyang database SQL. Pusat Keamanan Kaspersky uga ora bisa digunakake (masalah kasebut kudu dirampungake ing Pusat Keamanan Kaspersky v11).
-
Enable32BitAppOnWin64 = $true
Yen sampeyan ora nindakake owah-owahan iki, sampeyan ora bakal bisa mbukak server AppPool DSC ing IIS karo WSUS.
- Nalika nginstal DSC Server karo WSUS, mateni caching statis lan dinamis kanggo situs DSC.
Ayo dadi pindhah menyang nyetel server DSC kanggo nggunakake database SQL.
Nggawe database SQL
- Ayo nggawe database SQL kosong sing jenenge DSC.
- Ayo nggawe akun kanggo nyambung menyang database iki. Pisanan, priksa manawa server SQL ngidini otentikasi akun Windows lan SQL.
- Pindhah menyang bagean Pemetaan pangguna. Pilih database, ing kasus iki DSC. We menehi hak saka pemilik database.
- Rampung.
Nggawe Skema kanggo Database DSC
Ana rong cara kanggo nggawe skema kanggo database DSC:
- independen, liwat script 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 ngimpor saka devices.mdb kosong minangka bagéan saka PS modul PSDesiredStateConfiguration liwat SQL Data Impor Wisaya.
Devices.mdb sing bakal kita gunakake ana ing C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer.
- Kanggo ngimpor data, bukak Wisaya Impor lan Ekspor SQL Server.
- Kita milih saka ngendi kita bakal entuk data - ing kasus kita yaiku database Microsoft Access. Klik Sabanjure.
- Pilih file saka ngendi kita ngimpor diagram.
- Kita nuduhake ngendi kanggo ngimpor - kanggo kita iku database SQL.
- Pilih server SQL (Server Name) lan database sing bakal diimpor data (DataBase).
- Pilih pilihan Salin data saka siji utawa luwih tabel utawa tampilan (nyalin data saka tabel utawa tampilan).
- Kita milih tabel saka ngendi kita bakal ngimpor skema database.
- Centhang kothak Run Langsung banjur klik Rampung.
- Rampung.
- Akibaté, tabel kudu katon ing database DSC.
Nyetel file "proxy" .mdb
Nggawe sambungan ODBC menyang server SQL. Dianggep MS Access ora diinstal ing server sing nganggo DSC, mula nyetel databases.mdb ditindakake ing host penengah kanthi MS Access diinstal.
Ayo nggawe sambungan ODBC sistem menyang server SQL (bitness sambungan kudu cocog karo bitness MS Access - 64 utawa 32). Bisa digawe nggunakake:
- cmdlet 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
— utawa kanthi manual, nggunakake tuntunan sambungan:
- Bukak Alat Administratif. Kita milih sumber data ODBC gumantung versi MS Access sing diinstal. Pindhah menyang tab Sistem DSN lan gawe sambungan sistem (Tambah).
- Kita nuduhake yen kita bakal nyambung menyang server SQL. Klik Rampung.
- Nemtokake jeneng lan server sing arep disambungake. Banjur sambungan karo paramèter sing padha kudu digawe ing server DSC.
- Kita nuduhake yen kanggo nyambung menyang server SQL, kita nggunakake login sing digawe sadurunge kanthi jeneng DSC.
- Kita nemtokake database ing setelan sambungan DSC.
- Klik Rampung.
- Sadurunge ngrampungake persiyapan, priksa manawa sambungan kasebut bisa digunakake (Sumber Data Tes).
- Rampung.
Nggawe database devices.mdb ing MS Access. Bukak MS Access lan gawe database kosong sing diarani devices.mdb.
- Pindhah menyang tab Data Eksternal banjur klik Database ODBC. Ing jendhela sing katon, pilih Gawe tabel sing disambung kanggo nyambung menyang sumber data.
- Ing jendela anyar, pilih tab Sumber Data Mesin lan klik OK. Ing jendela anyar, ketik kredensial kanggo nyambung menyang server SQL.
- Pilih tabel sing kudu disambung. Priksa kothak Simpen sandhi banjur klik OK. Simpen sandhi saben wektu kanggo kabeh telung tabel.
- Ing indeks sampeyan kudu milih ing ngisor iki:
- TargetName kanggo tabel dbo_Devices;
- NodeName utawa IPAddress kanggo dbo_RegistrationData;
- NodeName utawa IPAddress kanggo dbo_StatusReport. - Ayo ganti jeneng tabel ing MS Access, yaiku: mbusak awalan dbo_ supaya DSC bisa nggunakake.
- Rampung.
- Simpen file lan nutup MS Access. Saiki kita nyalin asil devices.mdb menyang server DSC (kanthi standar ing C: Program FilesWindowsPowershellDSCService) lan ngganti sing wis ana (yen ana).
Konfigurasi DSC Server kanggo Gunakake SQL
- Kita bali menyang server DSC. Kanggo nyambung menyang server SQL nganggo file proxy, ayo nggawe sambungan ODBC anyar ing server DSC. Jeneng, ambane bit, lan setelan sambungan kudu padha karo nalika nggawe file MDB. Sampeyan bisa nyalin piranti kosong sing wis dikonfigurasi.mdb saka kene.
- Kanggo nggunakake devices.mdb, sampeyan kudu nggawe owahan ing web.config server tarik DSC (standar C: inetpubPSDSCPullServerweb.config):
- kanggo 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;">
- kanggo 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;">
Iki ngrampungake persiyapan server DSC.
Priksa fungsi server DSC
- Ayo priksa manawa server DSC bisa diakses liwat browser web.
- Saiki ayo priksa manawa server tarik DSC bisa digunakake kanthi bener. Kanggo nindakake iki, modul xPSDesiredStateConfiguration kalebu script pullserversetuptests.ps1. Sadurunge mbukak skrip iki, sampeyan kudu nginstal modul Powershell sing jenenge Pester. Instal Instal-Module-Name Pester.
- Bukak C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (ing conto versi 8.0.0.0.0).
- Bukak PullServerSetupTests.ps1 lan mriksa path menyang web.config saka server DSC. Path kanggo web.config, kang bakal mriksa script, disorot abang. Yen perlu, kita ngganti dalan iki.
- Mbukak pullserversetuptests.ps1
Invoke-Pester.PullServerSetupTests.ps1
Nganggo akun. - Ing SQL Management Studio kita waca sing diterbitake sarwa dumadi ngirim laporan kanggo DSC Reporting server lan data ends munggah ing database DSC ing SQL server.
Mekaten. Ing artikel ing ngisor iki aku rencana kanggo pitutur marang kowe carane mbangun laporan ing data dijupuk, lan aku bakal tutul ing masalah bab toleransi fault lan skalabilitas.
Source: www.habr.com