á¨PowerShell Desired State Configuration (DSC) á ááśáá˝ á¨ááá አá ááááŽá˝ á˛ááááľ áŚááŹá˛áá á˛áľá°ááᣠá¨á áááá áááá˝á áĽá áá°áá áŞáŤáá˝á á¨áá°ááŤáľ áĽá á¨áááá áľáŤá á áĽá
á áŤááááá˘
ááá áá DSC á áá˘á áá á˛á ááᣠáááľá á MS Azure ááľáĽ á áá°ááᣠáááľ áĽáá á áááŽá˝ á áᢠá á°áá áľáá áą áľáá á¨áá (á¨300 á áá á¨áľáŤ áŁá˘áŤáá˝ áĽá á°áá¨áŽá˝) áĽá á¨ááŤáŁáá á áá áá áŤááá á¨áá°áá áá¸áá˘
- á áľáááśá˝ áááł áá ááá áá áááŁáá˝ á¨ááᢠá¨ááááá áá á á á ááłááľ á ááááŽá˝ áá áŤáá°á°áá ᨠáŤá áĽááá áááŁáá˝ áľááĽáą á ááá áᢠá áĽáŽ á¨á°á°áŤá á¨áŞáááľ á áľáŤá á áááá áá¨á ááááľ á áŁá á¨áŁáľ ááᣠáĽá ááĽá ááĽá á áľá°áááá˝ á°áá á¨á á áá áááľáľ áá˝ááá˘
- á¨ááá ἠáĽá á¨áľá á°áľ ááťáťá áĽáĽá¨áľá˘ á ááľ áľá á°áľá á¨áááá á¨ááἠááł áĽá á¨á፠á¨áá áááá˝ ááá áŽá˝áŁ áááá˝ áĽá á¨ááááá˘áŤ áááá˝ áá¨ááť áŤáá á¨DSC ááľ áἠá°áá¨áŽá˝ áĽááť ááááŁáľ á ááťááá˘
áᏠá¨ááááŞáŤáá á˝áá áĽáá´áľ áĽáá°áááą áĽá ááŞáááľ ááľá¨á፠áá¨á áĽáá´áľ áĽáá°ááŤáá áĽáááááłáá. SQL áĽáá° áłáłá¤á áá á¨ááŤáááá á¨áá ááá ááá ááá ááááᢠááááŞáľ
áá
áá áá´ á ááá-áááśááľ á áááá 2012 áĽá 2016 ááá áá, áá˝áá
ááłá°á˘áŤ: ááááśááľ á áááá 2016 áá áá á ááĽááľ
ᨠDSC áá á ááááá áľááá°ááŤáľ áá°áľ á áááá á ááááá, á áŁá á áĽáŠ áááł á°áááżá
-
UseSecurityBestPractices = $false
á áá áá፠TLS 1.0 áá°áá¨áá áĽá ᨠSQL áłáłá¤á áá áááááľ á áá˝ááᢠᨠKaspersky á°á áááľ ááĽá¨áá á áá°áŤá (á˝áአá Kaspersky Security Center v11 ááľáĽ áááłáľ á áá áľ)á˘
-
Enable32BitAppOnWin64 = $true
áá á ááἠáŤáá°á¨áᣠá¨AppPool DSC á ááááá á WSUS á IIS áá ááľáŹáľ á áá˝ááá˘
- DSC á ááááá á WSUS á˛áá áDSC áŁá˘áŤ á¨áááááἠáĽá á°áááá áá¸á፠áŤá°áááá˘
ᨠSQL áłáłá¤á ááá áá á¨DSC á áááá áá° áááá áĽáááľá˘
ᨠSQL á¨ááἠááł ááá á
- DSC á¨ááŁá áŁáś ᨠSQL áłáłá¤á áĽááá áá˘
- á¨áá
áłáłá¤á áá ááááááľ áá፠áĽááá áᢠá ááááŞáŤ ᨠSQL á áááá áááąáá á¨áááśááľ áĽá ᨠ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
- áááĽá á¨áŁáś ááłáŞáŤáá˝ á áľááŁ.mdb áĽáá° PS ááá PSDesiredStateConfiguration á SQL Data Import Wizard á áŠáá˘
á¨ááá°áŤá Devices.mdb á CáĄWindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer ááľáĽ ááááá˘
- ááἠáááľááŁáľ á¨SQL á áááá á áľá᪠áĽá á᪠á ááá áŤááąá˘
- áá¨ááá á¨á¨áľ áĽáá°áááá áĽááááŁáá - á áĽá áááł á¨ááááŽáśááľ ááłá¨áť áłáłá¤á ááᢠááŁá á¨áááá á á áŤáľááá˘
- áľááá á¨áááľááŁá áľá ááá ááá¨áĄá˘
- á¨áľ áĽáá°áááᣠáĽáá áááá - áá ᨠSQL áłáłá¤á ááá˘
- á¨SQL á áááá (á¨á áááá áľá) áĽá áá¨á á¨áááľááŁá áľá áłáłá¤á (DataBase) ááá¨áĄá˘
- á¨á ááľ ááá á¨á ááŤáł á áá á¨áŚá˝ ááá áĽááłáá˝ (á¨á áá á¨áŚá˝ ááá áĽááłáá˝ ááἠáá áłáľ) á¨áááá á ááŤá ááá¨áĄá˘
- á¨ááἠááłáá ááľá á¨áááľááŁáŁá¸áá á°áá á¨áŚá˝ áĽááááŁáá.
- áá˛áŤáá á ááľ á¨áááá á áááŤá˝ áłáĽá áá ááááľ áŤáľáá áĽá á¨ááľá á á áŤáľááá˘
- á°á áá áá.
- á áá¤áąá, á°áá á¨áŚá˝ á DSC á¨ááἠááł ááľáĽ ááłá¨áľ á ááŁá¸á.
á¨.mdb âproxyâ ááá á áááááľ áá
á¨SQL á áááá áá á¨ODBC áááááľ ááá áᢠá¤áá¤áľ ááłá¨áť DSC á ááŤáá°á á áááá áá á áá°áŤáá á°áĽá ááłá°áŁááŁáľááá áłáłá¤á.á¤áá˛á˘á áááá á MS Access á á°áŤá ááŤá¨áá á áľá°ááá áá áá¨ááááá˘
á¨áľáááľ áŚá˛á˘á˛ ááááᾠᨠSQL á áááá áá áĽááá á (á¨áááááą á˘áľáᾠᨠMS Access bitness - 64 ááá 32 áá ááááľ á áá áľ)ᢠá áá áá ááá á áá˝áá:
- 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
- ááá á áĽá ᣠá¨áááááľ á ááá á áá áááĄ-
- á¨á áľá°áłá°á ááłáŞáŤáá˝á ááááąá˘ á á°áŤáá MS Access áľáŞáľ áá á áááľá¨áľ ᨠODBC ááἠáááŽá˝á áĽááááŁáá. áá° á¨áľáááľ DSN áľá áááą áĽá á¨áľáááľ áááááľ ááá አ(á áá)á˘
- ᨠSQL á áááá áá áĽáá°ááááá áĽáá ááááᢠá¨ááľá á á áŤáľááá˘
- á¨ááááá áľá áľá áĽá á áááá áááášá˘ á¨á፠á DSC á áááá áá á¨á°ááłáłá áááŞáŤáá˝ áá áááááľ ááá á áŤáľáááá.
- ᨠSQL á áááá áá ááááááľ áá°á á˛á á¨á°áá ᨠDSC á ááá áľá áĽáá áááá.
- á¨ááἠááłáá á DSC áááááľ á áá áśá˝ ááľáĽ áĽáááááá.
- á¨ááľá á á áŤáľááá˘
- ááááŠá á¨áá ááá á á ááľ áááááą áĽá¨á°áŤ áááá áĽáááľáťáá (á¨áá¨áŤ á¨ááἠááá)á˘
- á°á áá áá.
á MS Access ááľáĽ ᨠtools.mdb áłáłá¤á ááá áᢠMS Access á áŤáľááአáĽá ááłáŞáŤáá˝.mdb á¨ááŁá áŁáś áłáłá¤á ááá áŠá˘
- áá° ááŤá ááἠáľá áááą áĽá ODBC Database áá á á áŤáľááᢠá ááłá¨á ááľáŽáľ ááľáĽ á¨áá¨á ááá áá ááááááľ á¨á°ááá á°áá á¨áĽ ááá አá¨áááá ááá¨áĄ.
- á á á˛áą ááľáŽáľ á¨áá˝á áłáł ááá áľáŠá ááá¨áĄ áĽá áĽáşá á á áŤáľááᢠá á á˛áą ááľáŽáľ ᨠSQL á áááá áá ááááááľ ááľááááąá áŤáľááĄá˘
- ááŤáŤá áŤááŁá¸áá á á¨á´ááá˝ ááá¨áĄ. á¨ááá áá á áľááἠá¨áááá áłáĽá ááááľ áŤáľáá áĽá áĽáşá á á áŤáľááᢠá¨ááá ááá á áĽáŤááłááą áá ááśáľáąá á á¨á´ááá˝ áŤáľáááĄ.
- á áá¨á á áááá˝ ááľáĽ á¨áá¨á°ááľá ááá¨áĽ áŤáľáááááłá:
- á dbo_Devices á áá á¨áĽ á¨ááá áľá;
- NodeName ááá IPaddress ádbo_RegistrationData;
- NodeName ááá IPaddress ádbo_StatusReportᢠ- á MS Access ááľáĽ áŤááľá á áá á¨áŚá˝ áĽáá°áá áĽááľáá¸ááĄ- DSC áĽáá˛á áááŁá¸á ᨠdbo_ á áľá á áĽáŤáá áĽááľáááľá˘
- á°á áá áá.
- áááá áŤáľááᥠáĽá ᨠMS ááłá¨áťá áááᢠá áá á¨á°áááľá ááłáŞáŤáá˝.mdb áá° DSC á áááá (á ááŁáŞ á C: Program FilesWindowsPowershellDSCSservice) áĽááááĽáŁáá áĽá ááŁáŠá á áĽáą (áŤá) áĽáá°áŤááá˘
SQL ááá áá DSC á ááááá á áááá áá
- áá° DSC á áááá áĽááááłááᢠá¨SQL á áááá áá á á°áŞ áááá˝á ááááááľáŁ á DSC á áááá áá á á˛áľ á¨áŚá˛á˘á˛ áááááľ áĽááá áᢠá¨á¤áá˛á˘ ááá á˛ááĽáŠ á¨áľáᣠá¨á˘áľ áĽáááľ áĽá á¨áááááľ á ááĽáŽá˝ á ááľ á áááľ ááá á ááŁá¸áᢠá áľááľáá á¨á°ááአáŁáś ááłáŞáŤáá˝á.mdb á¨áá áá áłáľ áá˝ááá˘
- Devices.mdbá ááá áá á DSC ááľáľ á áááá (web.config) áá áááŚá˝á ááľá¨á á ááĽá (ááŁáŞá C:inetpubPSDSCPullServerweb.config áá)::
- ááááśááľ á áááá 2012
<add key="dbprovider" value="System.Data.OleDb">
<add key="dbconnectionstr" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Program FilesWindowsPowerShellDscServiceDevices.mdb;">
- ááááśááľ á áááá 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 á ááááá á°ááŁá á ááá°á˝ áá
- á¨DSC á áááá á áľá á áłá˝ á áŠá á°á°áŤá˝ áááá áĽáááľá˝á˘
- á áá á¨DSC ááľ á áááá á áľááá áĽá¨á°áŤ áááá áĽáááľá˝á˘ áá áá áááľá¨á ᨠxPSDesiredStateConfiguration ááá pullserverversetuptests.ps1 áľááŞááľ áŤáŤáľáłáᢠáá á áľááŞááľ á¨áááľá á ááľ ááľá°á á¨ááŁá á¨Powershell ááá ááŤá á ááŚáľá˘ áŤá-ááąá -áľá ááľá°áá˘
- C: Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<ááąá áľáŞáľ>DSCPullServerSetupPullServerDeploymentVerificationTestá áááľ (á ááłáá áľáŞáľ 8.0.0.0.0)á˘
- PullServerSetupTests.ps1 á ááááą áĽá áá° DSC á áááá web.config á¨áááľá°áá ááááľ áŤá¨áááĄá˘ áá° web.config á¨áááľá°á ááááľáŁ áľááŞááąá á¨ááŤá¨áááĽáŁ á áá áááś ááłáŤáᢠá áľááá á¨áá, áá áá ááááľ áĽááááŁáá.
- pullserverversetuptests.ps1 á ááľ
á˘ááŽá-Pester.PullServerSetupTests.ps1
ĐŃĐľ ŃайОŃĐ°ĐľŃ. - á SQL á áľá°áłá°á áľáąá˛áŽ ááľáĽ á¨áá°áłá°áŠ á áľá°áááá˝ áŞáááśá˝á áá° DSC áŞáááľ á áľáŤá á áááá á˛áአáĽá ááᥠá SQL á áááá áá áŁáá á¨DSC áłáłá¤á ááľáĽ á˛áŤáá áĽááŤááá˘
ááźá áá. á áááĽááľ á˝ááá˝ ááľáĽ á á°ááá áá¨á áá áŞáááśá˝á áĽáá´áľ áĽáá°áááᥠááááá áĽá
áľ á áá, áĽá áľá áĽááśá˝ ááťáťá áĽá ááľáááľ ááłáŽá˝á áĽááŤáá.
ááá: hab.com