పవర్షెల్ డిజైర్డ్ స్టేట్ కాన్ఫిగరేషన్ (DSC) మీరు వందల కొద్దీ సర్వర్లను కలిగి ఉన్నప్పుడు ఆపరేటింగ్ సిస్టమ్, సర్వర్ పాత్రలు మరియు అప్లికేషన్లను అమలు చేయడం మరియు కాన్ఫిగర్ చేసే పనిని చాలా సులభతరం చేస్తుంది.
కానీ DSC ఆన్-ప్రాంగణంలో ఉపయోగిస్తున్నప్పుడు, అనగా. MS అజూర్లో కాదు, కొన్ని సూక్ష్మ నైపుణ్యాలు ఉన్నాయి. సంస్థ పెద్దది (300 వర్క్స్టేషన్లు మరియు సర్వర్ల నుండి) మరియు కంటైనర్ల ప్రపంచాన్ని ఇంకా కనుగొనకపోతే అవి ప్రత్యేకంగా గుర్తించబడతాయి:
- వ్యవస్థల స్థితిగతులపై పూర్తి నివేదికలు లేవు. కొన్ని సర్వర్లలో అవసరమైన కాన్ఫిగరేషన్ వర్తించబడకపోతే, ఈ నివేదికలు లేకుండా మనకు దాని గురించి తెలియదు. అంతర్నిర్మిత రిపోర్టింగ్ సర్వర్ నుండి సమాచారాన్ని పొందడం చాలా కష్టం, మరియు పెద్ద సంఖ్యలో హోస్ట్ల కోసం ఇది చాలా సమయం పడుతుంది.
- స్కేలబిలిటీ మరియు తప్పు సహనం లేదు. కాన్ఫిగరేషన్లు, మాడ్యూల్స్ మరియు రిజిస్ట్రేషన్ కీల కోసం ఒకే తప్పు-తట్టుకునే డేటాబేస్ మరియు mof ఫైల్ల యొక్క సాధారణ నిల్వను కలిగి ఉండే DSC పుల్ వెబ్ సర్వర్ల ఫారమ్ను నిర్మించడం అసాధ్యం.
మీరు మొదటి సమస్యను ఎలా పరిష్కరించాలో మరియు రిపోర్టింగ్ కోసం డేటాను ఎలా పొందవచ్చో ఈ రోజు నేను మీకు చెప్తాను. SQLని డేటాబేస్గా ఉపయోగించగలిగితే ప్రతిదీ సరళంగా ఉంటుంది. కుమారి
నేను ఈ పద్ధతిని కనుగొన్నాను: Windows సర్వర్ 2012 మరియు 2016ని ఉపయోగించే వారికి, మీరు చెయ్యగలరు
గమనిక: Windows Server 2016 కోసం మీరు తప్పక ఉపయోగించాలి
నేను DSC పుల్ సర్వర్ని అమలు చేసే ప్రక్రియ గురించి వివరంగా చెప్పను, ఇది చాలా బాగా వివరించబడింది
-
UseSecurityBestPractices = $false
లేకపోతే, TLS 1.0 నిలిపివేయబడుతుంది మరియు మీరు SQL డేటాబేస్కు కనెక్ట్ చేయలేరు. Kaspersky సెక్యూరిటీ సెంటర్ కూడా పని చేయదు (సమస్య Kaspersky సెక్యూరిటీ సెంటర్ v11లో పరిష్కరించబడాలి).
-
Enable32BitAppOnWin64 = $true
మీరు ఈ మార్పు చేయకుంటే, మీరు WSUSతో IISలో AppPool DSC సర్వర్ని అమలు చేయలేరు.
- WSUSతో DSC సర్వర్ని ఇన్స్టాల్ చేస్తున్నప్పుడు, DSC సైట్ కోసం స్టాటిక్ మరియు డైనమిక్ కాషింగ్ని నిలిపివేయండి.
SQL డేటాబేస్ని ఉపయోగించడానికి DSC సర్వర్ని సెటప్ చేయడానికి ముందుకు వెళ్దాం.
SQL డేటాబేస్ను సృష్టిస్తోంది
- DSC పేరుతో ఖాళీ SQL డేటాబేస్ని క్రియేట్ చేద్దాం.
- ఈ డేటాబేస్కి కనెక్ట్ చేయడానికి ఒక ఖాతాను క్రియేట్ చేద్దాం. ముందుగా, SQL సర్వర్ Windows మరియు SQL ఖాతాల యొక్క ప్రమాణీకరణను అనుమతిస్తుంది అని తనిఖీ చేయండి.
- వినియోగదారు మ్యాపింగ్ విభాగానికి వెళ్లండి. డేటాబేస్ను ఎంచుకోండి, ఈ సందర్భంలో DSC. మేము డేటాబేస్ యజమాని యొక్క హక్కులను అందిస్తాము.
- Done.
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 డేటా దిగుమతి విజార్డ్ ద్వారా PS మాడ్యూల్ PSDesiredState కాన్ఫిగరేషన్లో భాగంగా ఖాళీ పరికరాలు.mdb నుండి డేటాను దిగుమతి చేయండి.
మేము పని చేయబోయే Devices.mdb C:WindowsSysWOW64WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationPullServerలో ఉంది.
- డేటాను దిగుమతి చేయడానికి, SQL సర్వర్ దిగుమతి మరియు ఎగుమతి విజార్డ్ను అమలు చేయండి.
- మేము డేటాను ఎక్కడ నుండి పొందాలో ఎంచుకుంటాము - మా విషయంలో ఇది Microsoft Access డేటాబేస్. తదుపరి క్లిక్ చేయండి.
- మేము రేఖాచిత్రాన్ని దిగుమతి చేసే ఫైల్ను ఎంచుకోండి.
- మేము ఎక్కడ దిగుమతి చేసుకోవాలో సూచిస్తాము - మాకు ఇది SQL డేటాబేస్.
- SQL సర్వర్ (సర్వర్ పేరు) మరియు మేము డేటాను (డేటాబేస్) దిగుమతి చేసుకునే డేటాబేస్ను ఎంచుకోండి.
- ఒకటి లేదా అంతకంటే ఎక్కువ పట్టికలు లేదా వీక్షణల నుండి డేటాను కాపీ చేయి (టేబుల్లు లేదా వీక్షణల నుండి డేటాను కాపీ చేయడం) ఎంపికను ఎంచుకోండి.
- మేము డేటాబేస్ స్కీమాను దిగుమతి చేసే పట్టికలను ఎంచుకుంటాము.
- వెంటనే అమలు చేయి చెక్బాక్స్ని తనిఖీ చేసి, ముగించు క్లిక్ చేయండి.
- Done.
- ఫలితంగా, పట్టికలు DSC డేటాబేస్లో కనిపిస్తాయి.
.mdb “ప్రాక్సీ” ఫైల్ని సెటప్ చేస్తోంది
SQL సర్వర్కు ODBC కనెక్షన్ని సృష్టిస్తోంది. DSC నడుస్తున్న సర్వర్లో MS యాక్సెస్ ఇన్స్టాల్ చేయబడలేదని భావించబడుతుంది, కాబట్టి MS యాక్సెస్ ఇన్స్టాల్ చేయబడిన ఇంటర్మీడియట్ హోస్ట్లో databases.mdbని సెటప్ చేయడం జరుగుతుంది.
SQL సర్వర్కు సిస్టమ్ ODBC కనెక్షన్ని సృష్టిద్దాం (కనెక్షన్ బిట్నెస్ తప్పనిసరిగా MS యాక్సెస్ బిట్నెస్ - 64 లేదా 32తో సరిపోలాలి). దీన్ని ఉపయోగించి సృష్టించవచ్చు:
- పవర్షెల్ 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 యాక్సెస్ వెర్షన్ని బట్టి ODBC డేటా సోర్స్లను ఎంచుకుంటాము. సిస్టమ్ DSN ట్యాబ్కు వెళ్లి సిస్టమ్ కనెక్షన్ను సృష్టించండి (జోడించు).
- మేము SQL సర్వర్కు కనెక్ట్ చేస్తామని మేము సూచిస్తున్నాము. ముగించు క్లిక్ చేయండి.
- కనెక్ట్ చేయడానికి పేరు మరియు సర్వర్ను పేర్కొనండి. అప్పుడు అదే పారామితులతో కనెక్షన్ DSC సర్వర్లో సృష్టించబడాలి.
- SQL సర్వర్కు కనెక్ట్ చేయడానికి, మేము DSC పేరుతో గతంలో సృష్టించిన లాగిన్ని ఉపయోగిస్తాము.
- మేము DSC కనెక్షన్ సెట్టింగ్లలో డేటాబేస్ను నిర్దేశిస్తాము.
- ముగించు క్లిక్ చేయండి.
- సెటప్ను పూర్తి చేయడానికి ముందు, కనెక్షన్ పని చేస్తుందో లేదో తనిఖీ చేస్తాము (టెస్ట్ డేటా సోర్స్).
- Done.
MS యాక్సెస్లో Device.mdb డేటాబేస్ను సృష్టిస్తోంది. MS యాక్సెస్ని ప్రారంభించండి మరియు Device.mdb అనే ఖాళీ డేటాబేస్ను సృష్టించండి.
- బాహ్య డేటా ట్యాబ్కు వెళ్లి ODBC డేటాబేస్పై క్లిక్ చేయండి. కనిపించే విండోలో, డేటా మూలానికి కనెక్ట్ చేయడానికి లింక్ చేయబడిన పట్టికను సృష్టించు ఎంచుకోండి.
- కొత్త విండోలో, మెషిన్ డేటా సోర్స్ ట్యాబ్ని ఎంచుకుని, సరి క్లిక్ చేయండి. కొత్త విండోలో, SQL సర్వర్కి కనెక్ట్ చేయడానికి ఆధారాలను నమోదు చేయండి.
- లింక్ చేయవలసిన పట్టికలను ఎంచుకోండి. పాస్వర్డ్ను సేవ్ చేయి పెట్టెను తనిఖీ చేసి, సరే క్లిక్ చేయండి. మూడు టేబుల్ల కోసం ప్రతిసారీ పాస్వర్డ్ను సేవ్ చేయండి.
- సూచికలలో మీరు ఈ క్రింది వాటిని ఎంచుకోవాలి:
— dbo_Devices పట్టిక కోసం TargetName;
— dbo_RegistrationData కోసం NodeName లేదా IPA చిరునామా;
— dbo_StatusReport కోసం NodeName లేదా IPAddress. - MS యాక్సెస్లో పట్టికల పేరు మార్చుకుందాం, అవి: dbo_ ఉపసర్గను తీసివేయండి, తద్వారా DSC వాటిని ఉపయోగించవచ్చు.
- Done.
- ఫైల్ను సేవ్ చేసి, MS యాక్సెస్ను మూసివేయండి. ఇప్పుడు మేము ఫలిత పరికరాలను DSC సర్వర్కి కాపీ చేస్తాము (సి: ప్రోగ్రామ్ ఫైల్స్విండోస్పవర్షెల్డిఎస్సిఎస్సర్వీస్లో డిఫాల్ట్గా) మరియు ఇప్పటికే ఉన్న దాన్ని దానితో భర్తీ చేయండి (అది ఉన్నట్లయితే).
SQLని ఉపయోగించడానికి DSC సర్వర్ని కాన్ఫిగర్ చేస్తోంది
- మేము DSC సర్వర్కి తిరిగి వస్తాము. మా ప్రాక్సీ ఫైల్తో SQL సర్వర్కి కనెక్ట్ చేయడానికి, DSC సర్వర్లో కొత్త ODBC కనెక్షన్ని క్రియేట్ చేద్దాం. MDB ఫైల్ను సృష్టించేటప్పుడు పేరు, బిట్ డెప్త్ మరియు కనెక్షన్ సెట్టింగ్లు తప్పనిసరిగా ఉండాలి. మీరు ఇప్పటికే కాన్ఫిగర్ చేసిన ఖాళీ పరికరాలు.mdbని ఇక్కడ నుండి కాపీ చేయవచ్చు.
- Device.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 మాడ్యూల్ pullserversetuptests.ps1 స్క్రిప్ట్ను కలిగి ఉంటుంది. ఈ స్క్రిప్ట్ని అమలు చేయడానికి ముందు, మీరు తప్పనిసరిగా పెస్టర్ అనే పవర్షెల్ మాడ్యూల్ను ఇన్స్టాల్ చేయాలి. దీన్ని ఇన్స్టాల్ చేయండి ఇన్స్టాల్-మాడ్యూల్ -పేస్టర్ పెస్టర్.
- C:Program FilesWindowsPowerShellModulesxPSDesiredStateConfiguration<మాడ్యూల్ వెర్షన్>DSCPullServerSetupPullServerDeploymentVerificationTest (ఉదాహరణ వెర్షన్ 8.0.0.0.0లో) తెరవండి.
- PullServerSetupTests.ps1ని తెరిచి, DSC సర్వర్ యొక్క web.configకి మార్గాన్ని తనిఖీ చేయండి. స్క్రిప్ట్ని తనిఖీ చేసే web.configకి మార్గం ఎరుపు రంగులో హైలైట్ చేయబడింది. అవసరమైతే, మేము ఈ మార్గాన్ని మారుస్తాము.
- pullserversetuptests.ps1ని అమలు చేయండి
Invoke-Pester.PullServerSetupTests.ps1
అంతా పని చేస్తోంది. - SQL మేనేజ్మెంట్ స్టూడియోలో నిర్వహించబడే హోస్ట్లు DSC రిపోర్టింగ్ సర్వర్కు నివేదికలను పంపడం మరియు డేటా SQL సర్వర్లోని DSC డేటాబేస్లో ముగుస్తుంది.
అంతే. కింది కథనాలలో నేను పొందిన డేటాపై నివేదికలను ఎలా రూపొందించాలో మీకు చెప్పాలని ప్లాన్ చేస్తున్నాను మరియు తప్పు సహనం మరియు స్కేలబిలిటీ గురించి నేను సమస్యలను తాకుతాను.
మూలం: www.habr.com