PowerShell Desired State Configuration (DSC) آپريٽنگ سسٽم، سرور جي ڪردار، ۽ ايپليڪيشنن کي ترتيب ڏيڻ ۽ ترتيب ڏيڻ جي نوڪري کي تمام گهڻو آسان بڻائي ٿو جڏهن توهان وٽ سوين سرور آهن.
پر جڏهن DSC آن-پريمسس استعمال ڪندي، i.e. MS Azure ۾ نه، اتي ڪجھ nuances آهن. اهي خاص طور تي قابل ذڪر آهن جيڪڏهن تنظيم وڏي آهي (300 ورڪ اسٽيشنن ۽ سرورز کان) ۽ اڃا تائين ڪنٽينرز جي دنيا کي دريافت نه ڪيو آهي:
- سسٽم جي صورتحال تي مڪمل رپورٽون نه آهن. جيڪڏهن گهربل ترتيب ڪجهه سرورن تي لاڳو نه ڪئي وئي آهي، پوء انهن رپورٽن کان سواء اسان ان جي باري ۾ نه ڄاڻندا سين. بلٽ ان رپورٽنگ سرور مان معلومات حاصل ڪرڻ ڪافي مشڪل آھي، ۽ ھوسٽن جي وڏي تعداد لاءِ اھو پڻ گھڻو وقت وٺي سگھي ٿو.
- گھٽتائي جي گنجائش ۽ غلطي رواداري. DSC پل ويب سرورز جو فارم ٺاهڻ ناممڪن آهي جنهن ۾ هڪ واحد غلطي برداشت ڪرڻ وارو ڊيٽابيس ۽ ترتيبن، ماڊلز ۽ رجسٽريشن چيڪن لاءِ ايم ايف فائلن جو هڪ عام ذخيرو هوندو.
اڄ آئون توهان کي ٻڌايان ٿو ته توهان پهريون مسئلو ڪيئن حل ڪري سگهو ٿا ۽ رپورٽنگ لاء ڊيٽا حاصل ڪري سگهو ٿا. هر شي آسان ٿي ويندي جيڪڏهن SQL کي ڊيٽابيس طور استعمال ڪري سگهجي. ايم ايس
مون کي اهو طريقو مليو: انهن لاءِ جيڪي ونڊوز سرور 2012 ۽ 2016 استعمال ڪندا آهن، توهان ڪري سگهو ٿا
نوٽ: ونڊوز سرور 2016 لاءِ توهان کي ضرور استعمال ڪرڻ گهرجي
مان ڊي ايس سي پل سرور کي ترتيب ڏيڻ جي عمل بابت تفصيل ۾ نه ويندس، اهو تمام سٺو بيان ڪيو ويو آهي
-
UseSecurityBestPractices = $false
ٻي صورت ۾، TLS 1.0 غير فعال ٿي ويندو ۽ توهان SQL ڊيٽابيس سان ڳنڍڻ جي قابل نه هوندا. Kaspersky سيڪيورٽي سينٽر پڻ ڪم نه ڪندو (مسئلو حل ڪيو وڃي Kaspersky سيڪيورٽي سينٽر v11).
-
Enable32BitAppOnWin64 = $true
جيڪڏهن توهان هي تبديلي نه ڪندا، توهان WSUS سان IIS تي AppPool DSC سرور کي هلائڻ جي قابل نه هوندا.
- WSUS سان DSC سرور انسٽال ڪرڻ وقت، 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
- ڊيٽا درآمد ڪريو خالي devices.mdb مان PS ماڊل PSDesiredStateConfiguration جي حصي طور SQL ڊيٽا درآمد مددگار ذريعي.
Devices.mdb جنهن سان اسان ڪم ڪنداسين اهو C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServer ۾ واقع آهي.
- ڊيٽا درآمد ڪرڻ لاء، SQL سرور درآمد ۽ برآمد مددگار هلائي.
- اسان چونڊون ٿا ته اسان ڊيٽا ڪٿان حاصل ڪنداسين - اسان جي صورت ۾ اهو هڪ Microsoft Access ڊيٽابيس آهي. ڪلڪ اڳيون.
- فائل چونڊيو جنهن مان اسان ڊراگرام درآمد ڪريون ٿا.
- اسان اشارو ڪريون ٿا ته ڪٿي درآمد ڪجي - اسان لاءِ اهو هڪ SQL ڊيٽابيس آهي.
- SQL سرور چونڊيو (سرور جو نالو) ۽ ڊيٽابيس جنهن ۾ اسان ڊيٽا درآمد ڪنداسين (ڊيٽا بيس).
- اختيار چونڊيو ڪاپي ڊيٽا مان هڪ يا وڌيڪ جدولن يا ڏيک (جدولن يا نظارن مان ڊيٽا نقل ڪرڻ).
- اسان ٽيبل چونڊيو ٿا جتان اسان ڊيٽابيس اسڪيما درآمد ڪنداسين.
- چيڪ ڪريو رن فوري طور تي چيڪ باڪس ۽ ڪلڪ ڪريو ختم ڪريو.
- ٿي ويو.
- نتيجي طور، جدولن کي DSC ڊيٽابيس ۾ ظاهر ٿيڻ گهرجي.
هڪ .mdb "proxy" فائل ترتيب ڏيڻ
هڪ SQL سرور سان ODBC ڪنيڪشن ٺاهڻ. اهو فرض ڪيو ويو آهي ته MS Access DSC هلائيندڙ سرور تي نصب ٿيل نه آهي، تنهنڪري databases.mdb سيٽنگ هڪ وچولي ميزبان تي ڪيو ويندو آهي MS رسائي نصب ٿيل آهي.
اچو ته هڪ سسٽم ٺاهيون ODBC ڪنيڪشن 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
- يا دستي طور، ڪنيڪشن مددگار استعمال ڪندي:
- انتظامي اوزار کوليو. اسان ODBC ڊيٽا جا ذريعا چونڊون ٿا انسٽال ٿيل MS Access جي ورزن جي بنياد تي. سسٽم DSN ٽيب ڏانھن وڃو ۽ سسٽم ڪنيڪشن ٺاھيو (شامل ڪريو).
- اسان اشارو ڪريون ٿا ته اسان SQL سرور سان ڳنڍينداسين. ڪلڪ ڪريو ختم.
- ڳنڍڻ لاء نالو ۽ سرور بيان ڪريو. پوء ساڳئي پيٽرولن سان هڪ ڪنيڪشن ٺاهڻ جي ضرورت پوندي ڊي ايس سي سرور تي.
- اسان ظاھر ڪريون ٿا ته SQL سرور سان ڳنڍڻ لاءِ، اسان استعمال ڪريون ٿا اڳي ٺاھيل لاگ ان DSC نالي سان.
- اسان ڊيٽابيس کي ڊي ايس سي ڪنيڪشن سيٽنگن ۾ بيان ڪريون ٿا.
- ڪلڪ ڪريو ختم.
- سيٽ اپ مڪمل ڪرڻ کان اڳ، اسان چيڪ ڪيو ته ڪنيڪشن ڪم ڪري رهيو آهي (ٽيسٽ ڊيٽا ماخذ).
- ٿي ويو.
MS Access ۾ هڪ devices.mdb ڊيٽابيس ٺاهڻ. MS Access لانچ ڪريو ۽ هڪ خالي ڊيٽابيس ٺاهيو جنهن کي devices.mdb سڏيو ويندو آهي.
- وڃو خارجي ڊيٽا ٽيب ۽ ODBC ڊيٽابيس تي ڪلڪ ڪريو. ونڊو ۾ جيڪو ظاهر ٿئي ٿو، چونڊيو هڪ ڳنڍيل ٽيبل ٺاهيو ڊيٽا ماخذ سان ڳنڍڻ لاء.
- نئين ونڊو ۾، منتخب ڪريو مشين ڊيٽا ماخذ ٽيب ۽ ڪلڪ ڪريو ٺيڪ. نئين ونڊو ۾، داخل ڪريو سندون SQL سرور سان ڳنڍڻ لاءِ.
- ٽيبل چونڊيو جيڪي ڳنڍڻ گهرجن. چيڪ ڪريو پاسورڊ محفوظ ڪريو باڪس ۽ ڪلڪ ڪريو ٺيڪ. پاسورڊ محفوظ ڪريو هر دفعي سڀني ٽن ٽيبلن لاءِ.
- انڊيڪس ۾ توھان کي ھيٺين کي چونڊڻ جي ضرورت آھي:
dbo_Devices ٽيبل لاءِ ٽارگيٽ نالو؛
dbo_RegistrationData لاءِ NodeName يا IPaddress؛
dbo_StatusReport لاءِ NodeName يا IPaddress. - اچو ته MS Access ۾ جدولن جو نالو تبديل ڪريون، يعني: dbo_ prefix هٽائي ڇڏيو ته جيئن DSC انهن کي استعمال ڪري سگهي.
- ٿي ويو.
- فائل محفوظ ڪريو ۽ بند ڪريو MS رسائي. ھاڻي اسان نتيجو ڪڍون ٿا devices.mdb DSC سرور ڏانھن (ڊفالٽ ۾ C: Program FilesWindowsPowershellDSCService) ۽ موجوده ھڪڙي کي ان سان تبديل ڪريو (جيڪڏھن اھو موجود آھي).
SQL استعمال ڪرڻ لاءِ DSC سرور کي ترتيب ڏيڻ
- اسان DSC سرور ڏانهن واپس وڃو. اسان جي پراکسي فائل سان SQL سرور سان ڳنڍڻ لاءِ، اچو ته DSC سرور تي نئون ODBC ڪنيڪشن ٺاھيون. نالو، سا جي کوٽائي، ۽ ڪنيڪشن سيٽنگون ساڳيون هجڻ گهرجن جيئن MDB فائل ٺاهيندي. توھان نقل ڪري سگھوٿا اڳ ۾ ئي ترتيب ڏنل خالي devices.mdb هتان کان.
- devices.mdb استعمال ڪرڻ لاءِ، توھان کي تبديل ڪرڻو پوندو web.config جي DSC پل سرور (ڊفالٽ آھي 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 سرور ويب برائوزر ذريعي رسائي لائق آهي.
- هاڻي اچو ته چيڪ ڪريو ته ڊي ايس سي پل سرور صحيح ڪم ڪري رهيو آهي. هن کي ڪرڻ لاء، xPSDesiredStateConfiguration ماڊل شامل آهي pullserverversetuptests.ps1 اسڪرپٽ. هن اسڪرپٽ کي هلائڻ کان پهريان، توهان کي پيسٽر نالي هڪ پاور شيل ماڊل انسٽال ڪرڻ گهرجي. ان کي انسٽال ڪريو Install-Module -Name Pester.
- کوليو C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<module version>DSCPullServerSetupPullServerDeploymentVerificationTest (مثال ورزن 8.0.0.0.0 ۾).
- PullServerSetupTests.ps1 کوليو ۽ DSC سرور جي web.config ڏانهن رستو چيڪ ڪريو. web.config ڏانهن رستو، جيڪو لکت کي چيڪ ڪندو، ڳاڙهي ۾ نمايان ٿيل آهي. جيڪڏهن ضروري هجي ته، اسان هن رستي کي تبديل ڪريون ٿا.
- هلايو pullserverversetuptests.ps1
Invoke-Pester.PullServerSetupTests.ps1
سڀ ڪجهه ڪم ڪري رهيو آهي. - SQL مئنيجمينٽ اسٽوڊيو ۾ اسان ڏسون ٿا ته انتظامي ميزبان DSC رپورٽنگ سرور ڏانهن رپورٽون موڪليندا آهن ۽ ڊيٽا SQL سرور تي DSC ڊيٽابيس ۾ ختم ٿي ويندي آهي.
اهو ئي سڀ ڪجهه آهي. هيٺ ڏنل مضمونن ۾ آئون توهان کي ٻڌائڻ جي رٿابندي ڪريان ٿو ته ڪيئن حاصل ڪيل ڊيٽا تي رپورٽون ٺاهيون وڃن، ۽ مان غلطي رواداري ۽ اسڪاليبلٽي بابت مسئلن تي رابطو ڪندس.
جو ذريعو: www.habr.com