सवाल शक्ति कोशिका? क्या तुम इसका इस्तेमाल करते हो? क्या आप मुझे कुछ शांत सिस्टम प्रशासन चीजें दिखा सकते हैं जो मैं कर सकता हूं? [बन्द है]


मैं हर जगह पढ़ता रहता हूं शक्ति कोशिका भविष्य का रास्ता है। जब इसे पहली बार रिलीज़ किया गया तो मैंने वर्चुअल लैब्स का पूरा समूह किया, लेकिन तब से मैंने अभी भी इसे उत्पादन वातावरण में उपयोग नहीं किया है। मुझे पता है कि वह दिन आएगा जब मैं ओएस के साथ काम कर रहा हूं जहां यह पहले से स्थापित है, इसलिए मैं तैयार रहना चाहता हूं।

मैं जानना चाहता हूँ:

  1. क्या तुम इसका इस्तेमाल करते हो?
  2. PowerShell का उपयोग करने के लिए आपकी 'बूटस्ट्रैपिंग' प्रक्रिया क्या है?
  3. आपने किस तरह के सिस्टम प्रशासन कार्यों के साथ लिपि लिखी है?
  4. मैं एक SQL सर्वर डेटाबेस व्यवस्थापक हूँ। इसके साथ कुछ शांत चीजें क्या हैं?

ऐसा लगता है कि हर कोई इस बात से सहमत है कि माइक्रोसॉफ्ट इस कड़ी मेहनत कर रहा है, लेकिन वास्तव में इसका कोई भी उपयोग नहीं कर रहा है। मैं वहां सिस्टम प्रशासकों से सुनना चाहता हूं जो हर दिन कार्यों को करने और कुछ कोड नमूने साझा करने के लिए इसका उपयोग कर रहे हैं।


44
2018-05-28 05:53


मूल


जेस्क्रिप्ट मर चुका है? - Sophie Alpert
अगली बार अपने भ्रामक शीर्षकों के साथ एक ट्रोल न होने का प्रयास करें। - Jaykul
शायद ऐसा इसलिए है क्योंकि कभी-कभी मैं तमन्ना यह जेएसक्रिप्ट की तरह चलेगा। क्या यह सिर्फ मुझे है या यह बहुत बदसूरत और verbose है? - Nick Kavadias


जवाब:


माइक्रोसॉफ्ट पावरशेल को हर जगह बिजली-उपयोगकर्ताओं और स्वचालन लेखकों की पसंद बनाने के लिए कर रहा है। एक ही काम करने के लिए .NET में कोड संकलित करने के दिन गए हैं, अब आपको केवल notepad.exe और google की आवश्यकता है। हम कार्यालय में इसके बड़े प्रशंसकों हैं, खासकर जब एक्सचेंज 2007 के प्रबंधन कंसोल में आप सबकुछ शामिल नहीं करते हैं जो आप PowerShell में कर सकते हैं। माइक्रोसॉफ्ट जानबूझकर ऐसी चीजों को लागू करने में असफल रहा जो केवल थोड़ी देर में एक बार किया जाता है, उस तरह से विकसित करना आसान होता है, यदि आपके पास जटिल वातावरण जैसा कुछ भी है तो इसका उपयोग सीधे कम हो जाता है।

माइक्रोसॉफ्ट की नई पीढ़ी के उत्पादों (विन 7, विंडोज सर्वर 2008, एक्सचेंज 2007/2010, एसक्यूएल सर्वर 2008) का प्रबंधन करना सभी में पावरशेल हुक बहुत समृद्ध हैं। एक बार रिमोट पावरहेल (पावरशेल 2.0 आईआईआरसी) सर्वर 2008 आर 2 के साथ तैनात हो जाने पर, यह स्वचालन लेखकों के लिए और भी उपयोगी हो जाएगा।

हमने इसके साथ क्या किया है:

  • हेल्पडेस्क उपयोगकर्ताओं को कुछ व्यवस्थापक कार्यों को प्रतिनिधि देने के लिए एक वेब-पेज बनाएं। वेब पेज पावरशेल में निष्पादित आदेशों को बंद कर देता है। चीजें यह करती हैं:
    • एक्सचेंज 2007 मेलबॉक्स और होम निर्देशिका समेत उपयोगकर्ता खातों को बनाएं और हटाएं
    • खातों को बंद कर देता है
    • समूह बनाएं / हटाएं
    • समूहों से उपयोगकर्ताओं को जोड़ें / हटाएं
    • मेल-स्टोर्स के बीच उपयोगकर्ताओं को ले जाएं
    • पासवर्ड सेट करें
  • ईआरपी सिस्टम से अर्क लें और ग्लोबल-एड्रेस-बुक डेटा को सक्रिय निर्देशिका में रात में दबाएं।
  • LegacyExchangeDN समस्या को हल करें जो हमारे एक्सचेंज 2003 के साथ 2007 के माइग्रेशन को एक्सचेंज करने के लिए तैयार है। एक्सचेंज 2003 पर होने वाले हर किसी के लिए X500 पता जोड़ना था। काफी कम पावरशेल स्क्रिप्ट ने इसे ठीक किया।
  • "समूह मेलबॉक्स" के स्क्रिप्ट किए गए निर्माण (एक्सचेंज में साझा मेलबॉक्स जहां एकाधिक उपयोगकर्ताओं को मेलबॉक्स तक पहुंच है), अन्यथा मैन्युअल प्रक्रिया डेटा की प्रकृति के कारण हमें इसे बंद करने से पहले आवश्यक है। यह इन मेलबॉक्सों के सेटअप को बहुत मानकीकृत करता है।
  • एक विशिष्ट रजिस्ट्री कुंजी को रीसेट करने और सेवा को पुनरारंभ करने वाली सभी डोमेन मशीनों के माध्यम से चलने वाली एक स्क्रिप्ट बनाई गई। इसे पूरा करने में 18 घंटे लग गए, लेकिन यह काम पूरा हो गया।

तो हाँ, PowerShell हमारे साथ कुछ समय के लिए होने जा रहा है।

संपादित करें: अनुरोध किया गया था, क्योंकि कोड-नमूना जोड़ना

$ सूची = आयात सीएसवी ( "groupusers.csv")
$ Lastseengroup = $ सूची [0] .group
$ ADGroupPrefix = "grp.netware।"
$ ADGroupSuffix = "{redacted - के रूप में, ou = groups, dc = डोमेन, डीसी = डोमेन, डीसी = डोमेन}"
साफ़-परिवर्तनीय सदस्य सूची
साफ़-परिवर्तनीय अज्ञात
foreach ($ सूची में $ प्रविष्टि) {
    अगर ($ ($ entry.group) - एक $ lastseengroup) {
        echo "नए समूह $ ($ entry.group) में ठोकर खाई, $ lastseengroup में परिवर्तन कर रहा है"
        $ Newgroup = $ ADgroupPrefix + $ lastseengroup
        $ Newgroupdn = '' '+' cn = $ newgroup $ ADGroupSuffix "+" '
        echo "$ newgroup के लिए डीएन प्राप्त करना"
        $ मौजूदा समूह = dsquery समूह domainroot -name $ newgroup
        अगर (($ मौजूदा समूह- एक $ शून्य)) {
            dsmod समूह $ newgroupdn -chmbr $ सदस्य सूची
        } अन्य {
            dsadd समूह $ newgroupdn -scope u -secgrp yes -members $ memberlist -desc "eDirectory से आयात किया गया समूह"
        }
        साफ़-परिवर्तनीय सदस्य सूची
    }
    $ उपयोगकर्ता = get-user $ ($ entry.member) - त्रुटि चिह्न SilentlyContinue
    अगर ($ User.isvalid) {
        $ UserDN = $ User.distinguishedname
        $ सदस्य सूची = $ सदस्य सूची + '' '+ "$ उपयोगकर्ता डीएन" +' "'
    } अन्य {
        $ Unknownusers = $ unknownusers + $ ($ entry.member)
    }
    $ Lastseengroup = $ ($ entry.group)

}
dsadd समूह "cn = $ ADGroupPrefix $ lastseengroup $ ADGroupSuffix" -स्कोप u -secgrp yes -members $ सदस्य सूची

यह एक पीएसएल स्क्रिप्ट के साथ बनाई गई एक CSV फ़ाइल लेता है और समूहों के एक समूह को अद्यतन करता है। यदि समूह पहले से मौजूद है, तो यह फ़ाइल में निर्दिष्ट सदस्यता के साथ सदस्यता को प्रतिस्थापित करता है। यदि समूह मौजूद नहीं है, तो यह इसे बनाता है। यह एक तरफा सिंक है। यह भी नहीं काफी उत्पादन में अभी तक, लेकिन करीब।


34
2018-05-28 04:26



रिमोट पावरहेल !! आप एसएसएच की तरह मतलब है! समय के बारे में! - Nick Kavadias
आप वेबसाइट से पावरहेल स्क्रिप्ट कैसे चलाते हैं, क्या आप वेब प्रोग्रामिंग भाषा के रूप में पावरहेल स्क्रिप्ट का उपयोग करते हैं? क्या आप powerhellASP का उपयोग कर रहे हैं? क्या आप आईआईएस उपयोगकर्ता के रूप में अपनी स्क्रिप्ट चला रहे हैं? - quentin


यह देखते हुए कि माइक्रोसॉफ्ट के सर्वर उत्पाद शुरुआत से पावरशेल-सक्षम होने जा रहे हैं (मुझे विश्वास है कि एक्सचेंज के अगले संस्करण में है सब PowerShell के माध्यम से कॉन्फ़िगरेशन उपलब्ध है), और वह किताबें जैसे प्रैक्टिस में पावरशेल अन्यथा एकान्त कार्यों को स्वचालित करने के कुछ शानदार तरीकों का वर्णन करें, मुझे लगता है कि यह सुझाव देना उचित है कि PowerShell कुछ समय के लिए विंडोज सर्वरलैंड में एक प्रचलित तकनीक होगी।


17
2018-05-28 09:15



वह पुस्तक अभी भी बीटा / लिखित में है - Nick Kavadias
हां, यह है - लेकिन आप अभी भी इसे अभी खरीद सकते हैं और सामग्री तक जल्दी पहुंच प्राप्त कर सकते हैं। और वहां सर्वर-रखरखाव की बहुत सारी चीज़ें हैं :) - moobaa
एक्सचेंज 2007 के बाद से सभी पावरशेल रहा है। ओसीएस पूरी तरह से पावरशेल-अगली रिलीज में सक्षम होगा; अधिकांश सिस्टम सेंटर उत्पाद या तो इसे पूरी तरह से समर्थन देते हैं या उनकी अगली रिलीज में करेंगे। पावरशेल कहीं नहीं जा रहा है। - paulr


मैं सिफारिश करता हूँ स्कॉट हंसेलमैन का पॉडकास्ट # 162। ऐसा लगता है कि सभी माइक्रोसॉफ्ट सर्वर टीमों को पावरशेल cmdlets प्रदान करने के लिए "मजबूर" किया जाता है, और एक एकल, लगातार वाक्यविन्यास का पालन करने के लिए भी।

इसके अलावा, तीसरे पक्ष की तरह VMWare इसे गोद ले रहे हैं

संक्षेप में, मेरा मानना ​​है कि 2.0 के साथ शुरू होने वाली पावरशेल सभी के लिए बैच फ़ाइलों को बदलने के व्यवसाय में गंभीरता से है, लेकिन सबसे छोटे कार्यों के लिए।


12
2018-05-28 04:31





दस PowerShell स्क्रिप्ट्स जो मैं SQL सर्वर डेटाबेस व्यवस्थापक के रूप में उपयोग करता हूं (सभी को वर्णित / पोस्ट किया गया है मेरा चिट्ठा):

  1. सभी SQL सर्वर पर डिस्क स्थान की जांच करें और SQL तालिका में डेटा लोड करें
  2. SQL उत्पादन सर्वर पर सभी उत्पादन SQL सर्वर और लोड डेटा पर अनुमति रिपोर्ट चलाएं
  3. सभी खोजें विंडोज सर्वर 2003 क्लस्टर, नोड्स, और वर्चुअल नेटवर्क पर और एसक्यूएल टेबल पर लोड
  4. परिभाषित अनुसार सभी SQL सर्वर पर सभी डेटाबेस खोजें SCCM और एक एसक्यूएल तालिका में लोड करें
  5. एक SQL तालिका में सभी SQL सर्वरों में बैकअप जानकारी लोड करके SQL सर्वर बैकअप स्कोरकार्ड बनाएं
  6. सत्यापित करें कि Windows Server 2003 SP2 में टीसीपी ऑफ़लोड इंजन अक्षम है (यह कई SQL सर्वर के लिए एक प्रदर्शन हत्यारा है)
  7. डिस्क विभाजन संरेखण सत्यापित करें (यदि प्रदर्शन को गलत तरीके से गठबंधन किया गया है तो एक प्रदर्शन हत्यारा भी)
  8. SQL सर्वर को एक सर्वर से दूसरे सर्वर पर कॉपी करें
  9. रिकर्सिवली सभी की प्रतिलिपि बनाएँ लघु उद्योगों फ़ोल्डर संरचना सहित एक सर्वर से दूसरे सर्वर पर एक एमएसडीबी स्टोरेज का उपयोग कर पैकेज
  10. अपना खुद का ग्राफिकल ऑब्जेक्ट निर्भरता दर्शक बनाएं

10
2018-05-28 04:42





आपने किस प्रकार के व्यवस्थापक कार्यों को लिपि किया है?

एप्लिकेशन / सेवा निगरानी: (रिमोट) इवेंटलॉग और संग्रहीत प्रक्रियाओं में से प्रमुख प्रदर्शन संख्याएं प्राप्त करें और उन्हें एक बैच फ़ाइल से प्रदर्शित करें

मैं एक एसक्यूएल सर्वर डीबीए हूं, मुझे इसके साथ कुछ शांत चीजें दिखाने के लिए?

automssqlbackup: घूर्णन के साथ एमएसएसक्यूएल के लिए दैनिक बैकअप (दैनिक = वृद्धिशील, साप्ताहिक + मासिक = पूर्ण; 5 दैनिक, 5 साप्ताहिक बैकअप रखें), ज़िप, ईमेल अधिसूचना


8
2018-05-28 09:39



पूरे एमएसएसएलएल बैकअप प्रक्रिया को स्वचालित करने के लिए +1। - Andrei Rinea
हां ... एसक्यूएल सर्वर में जटिल बैकअप स्वचालित करने के लिए पावरहेल शुद्ध सोने है। हम इसका उपयोग प्रति घंटा बैकअप को ज़िप और एन्क्रिप्ट करने के लिए करते हैं और फिर ऑफसाइट स्टोरेज के लिए फ़ाइलों को अमेज़ॅन एस 3 पर भेजते हैं: codeblog.theg2.net/2010/02/... - Greg Bray


पिछले करियर में यूनिक्स शैल स्क्रिप्ट का उपयोग करने के बाद, फिर विंडोज सर्वर प्रशासन में जाकर, मैं कह सकता हूं कि मैं वास्तव में शक्तियों की सराहना करता हूं - मेरे पास समय नहीं है और न ही बहुत आर्केन सिंटैक्स सीखने की क्षमता है और यह बहुत ही आश्चर्यचकित था कि बहुत शक्तियों की स्क्रिप्ट्स को बहुत सीधी भाषा के साथ लिखा जा सकता है ... यह ले लो कि इसका क्या लायक था जैसा कि मैंने ksh के लिए उपयोग किया था !!

मैं भविष्यवाणी करता हूं कि यह लंबे समय तक होगा।


7
2018-05-29 18:14





मैंने सोचा कि यह अच्छा था: SQL Server 2008 के साथ आपको नए PowerShell एक्सटेंशन मिलते हैं जो आपको अपने स्थानीय फ़ाइल सिस्टम या रजिस्ट्री की तरह SQL डेटाबेस को नेविगेट करने की अनुमति देते हैं।

SQL सर्वर क्लाइंट टूल इंस्टॉल करने के बाद आप PowerShell (दायाँ क्लिक संदर्भ मेनू के माध्यम से) में कोई भी डेटाबेस खोल सकते हैं और किसी ऑब्जेक्ट उन्मुख तरीके से इसके साथ खेल सकते हैं:

PS SQLSERVER:\SQL\MyServer\MyInstance\Databases\ExampleDB\>function prompt {"PS >"}
PS >cd tables
PS >dir

SCHEMA          NAME         CREATED
------          ----         -------
dbo             MyTable      25/06/2009 17:02

PS > dir | format-table name, columns, rowcount, parent

NAME            COLUMNS      ROWCOUNT      PARENT
----            -------      --------      ------
MyTable         {Id, Name}   0             {ExampleDB}

PS >$myTable = dir | where {$_.Name -eq "MyTable"}
PS >$myTable.Script()

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[MyTable](
[Id] [int] IDENTITY(1,1) NOT NULL
[Name] [nText] NOT NULL
) ON [PRIMARY]

PS >set-location \SQL\AnotherServer\Default
PS >cd databases\Northwind\tables
PS >$myTables = dir | where {$_.Rowcount -gt 100 -and $_.HasIndex -eq 1}
PS >$myTables.Count

8

PS >foreach ($table in $tables) {$table.RebuildIndexes(90)}

ध्यान दें कि पहली पंक्ति बस प्रॉम्प्ट को बदलती है ताकि यह इतना लंबा न हो।

उम्मीद है कि इसके अलावा यह स्पष्ट है कि यहां क्या हो रहा है :)


7
2018-05-28 09:04



+1 वाह, यह बहुत उपयोगी है। धन्यवाद! - jftuga