Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें?

आप सक्रिय निर्देशिका में कंप्यूटर ऑब्जेक्ट के विवरण में विभिन्न उपयोगी जानकारी संग्रहीत कर सकते हैं। उदाहरण के लिए, कंप्यूटर मॉडल, हार्डवेयर इन्वेंट्री या अंतिम लॉग-ऑन उपयोगकर्ता नाम के बारे में जानकारी। इस लेख में, हम देखेंगे कि विवरण . में जानकारी को स्वचालित रूप से कैसे भरें और अपडेट करें PowerShell का उपयोग करके सक्रिय निर्देशिका में कंप्यूटर ऑब्जेक्ट का क्षेत्र।

पावरशेल के साथ सक्रिय निर्देशिका में कंप्यूटर विवरण फ़ील्ड को अपडेट करें

उदाहरण के लिए, आप चाहते हैं कि सक्रिय निर्देशिका उपयोगकर्ता और कंप्यूटर कंसोल में कंप्यूटर और सर्वर के लिए विवरण फ़ील्ड कंप्यूटर के निर्माता, मॉडल और सीरियल नंबर के बारे में जानकारी प्रदर्शित करे। आप निम्न PowerShell कमांड का उपयोग करके WMI से अपनी स्थानीय मशीन पर यह जानकारी प्राप्त कर सकते हैं:
Get-WMIObject Win32_ComputerSystemProduct | Select Vendor, Name, IdentifyingNumber
WMI क्वेरी निम्न डेटा लौटाती है:

  • विक्रेता - एचपी
  • नाम - प्रोलिएंट DL 360 G5
  • पहचान संख्या - CZJ733xxxx

सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें?

पर्यावरण चर से वर्तमान कंप्यूटर का नाम प्राप्त करें और इसे $computer . को असाइन करें चर:

$computer = $env:COMPUTERNAME

फिर कंप्यूटर के हार्डवेयर के बारे में जानकारी सहेजें:

$computerinfo= Get-WMIObject Win32_ComputerSystemProduct
$Vendor = $computerinfo.vendor
$Model = $computerinfo.Name
$SerialNumber = $computerinfo.identifyingNumber

आइए देखें कि वेरिएबल को कौन से मान असाइन किए गए हैं:

$computer
$vendor
$Model
$SerialNumber

यह प्राप्त डेटा को सक्रिय निर्देशिका में कंप्यूटर खाते के विवरण फ़ील्ड में लिखना बाकी है। निम्नलिखित पावरशेल स्क्रिप्ट चलाएँ:

$ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
$ComputerSearcher.SearchRoot = "LDAP://$("DC=$(($ENV:USERDNSDOMAIN).Replace(".",",DC="))")"
$ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
$computerObj = [ADSI]$ComputerSearcher.FindOne().Path
$computerObj.Put( "Description", "$vendor|$Model|$SerialNumber" )
$computerObj.SetInfo()

आप सेट-एडीकंप्यूटर सीएमडीलेट का उपयोग करके कंप्यूटर विवरण में परिवर्तन भी कर सकते हैं। हालांकि, इसके लिए कंप्यूटर पर विंडोज पावरशेल (आरएसएटी व्यवस्थापन टूलकिट से) के लिए सक्रिय निर्देशिका मॉड्यूल स्थापित करने की आवश्यकता है।
Set-ADComputer $computer –Description "$vendor|$Model|$SerialNumber”

यदि आप AD PowerShell मॉड्यूल से cmdlets का उपयोग करना चाहते हैं, तो आप RSAT को स्थापित किए बिना मॉड्यूल फ़ाइलों को सभी कंप्यूटरों पर कॉपी कर सकते हैं।

सत्यापित करें कि ADUC कंसोल में कंप्यूटर विवरण फ़ील्ड निर्माता और मॉडल जानकारी दिखाता है।

सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें?

ऐसी स्क्रिप्ट केवल AD में वर्तमान कंप्यूटर विवरण विशेषता को अपडेट करेगी। आप Get-ADComputer और foreach का उपयोग करके सभी डोमेन कंप्यूटरों के लिए दूरस्थ रूप से विवरण पॉप्युलेट कर सकते हैं कुंडली। लेकिन जब कोई उपयोगकर्ता लॉग इन करता है या कंप्यूटर बूट होता है तो कंप्यूटर स्वचालित रूप से एडी में अपनी जानकारी अपडेट करना अधिक सुविधाजनक होता है।

ऐसा करने के लिए, आपको पावरशेल लॉगऑन स्क्रिप्ट के साथ एक समूह नीति बनाने और इसे सभी कंप्यूटरों पर लागू करने की आवश्यकता है:

  1. डोमेन समूह नीति प्रबंधन कंसोल खोलें (gpmc.msc ), एक GPO बनाएं और इसे कंप्यूटर के साथ OU को असाइन करें;
  2. जीपीओ का विस्तार करें:उपयोगकर्ता कॉन्फ़िगरेशन -> नीतियां -> विंडोज सेटिंग्स -> स्क्रिप्ट (लॉगऑन / लॉगऑफ) -> लॉगऑन;
  3. पावरशेल स्क्रिप्ट पर जाएं टैब;
  4. फ़ाइलें दिखाएं क्लिक करें बटन बनाएं और एक FillCompDesc.ps1 . बनाएं निम्न कोड वाली फ़ाइल:
    # write information about the computer hardware/model in the Description field in Active Directory
    $computer = $env:COMPUTERNAME
    $computerinfo= Get-WMIObject Win32_ComputerSystemProduct
    $Vendor = $computerinfo.vendor
    $Model = $computerinfo.Name
    $SerialNumber = $computerinfo.identifyingNumber
    $DNSDOMAIN= (Get-WmiObject -Namespace root\cimv2 -Class Win32_ComputerSystem).Domain
    $ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
    $ComputerSearcher.SearchRoot = "LDAP://$("DC=$(($DNSDOMAIN).Replace(".",",DC="))")"
    $ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
    $computerObj = [ADSI]$ComputerSearcher.FindOne().Path
    $computerObj.Put( "Description", "$vendor|$Model|$SerialNumber" )
    $computerObj.SetInfo()

    आसान समस्या निवारण के लिए आप वैकल्पिक रूप से PowerShell स्क्रिप्ट क्रियाओं को लॉग कर सकते हैं।
  5. जोड़ें . क्लिक करें बटन और निम्न स्क्रिप्ट पैरामीटर सेट करें:
    स्क्रिप्ट नाम:FillCompDesc.ps1
    स्क्रिप्ट पैरामीटर:-ExecutionPolicy Bypass सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें? इस मामले में, आपको PowerShell निष्पादन नीति सेटिंग बदलने या अपनी PS1 स्क्रिप्ट फ़ाइल पर हस्ताक्षर करने की आवश्यकता नहीं है पावरशेल स्क्रिप्ट चलाएँ।
  6. एक विशिष्ट OU को प्रमाणीकृत . के लिए AD अनुमतियां सौंपें उपयोगकर्ता डोमेन समूह। OU में सभी कंप्यूटर ऑब्जेक्ट की विवरण विशेषता को बदलने के अधिकार असाइन करें (Write Description अनुमति)। यह डोमेन उपयोगकर्ताओं और कंप्यूटरों को कंप्यूटर ऑब्जेक्ट की विवरण विशेषता में मान बदलने की अनुमति देगा; सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें?
  7. लक्ष्य OU में कंप्यूटर को पुनरारंभ करने और समूह नीति सेटिंग्स को अपडेट करने के बाद, AD में विवरण फ़ील्ड स्वचालित रूप से भर जाएगा। इस फ़ील्ड में कंप्यूटर के हार्डवेयर के बारे में जानकारी होगी। आप gpresult . का उपयोग करके GPO की समस्या का निवारण कर सकते हैं टूल या लेख की युक्तियों का उपयोग करना सामान्य समस्याएं जिनके कारण समूह नीति लागू नहीं होती है।

इस प्रकार, आप AD में कंप्यूटर ऑब्जेक्ट के विवरण फ़ील्ड में कोई भी जानकारी जोड़ सकते हैं। उदाहरण के लिए, अंतिम लॉग-ऑन उपयोगकर्ता, विभाग का नाम (आप Get-ADUser cmdlet का उपयोग करके यह जानकारी प्राप्त कर सकते हैं), कंप्यूटर का IP पता, या कोई अन्य प्रासंगिक जानकारी जो आपको चाहिए।

नोट . इस दृष्टिकोण का दोष यह है कि कोई भी प्रमाणित AD उपयोगकर्ता सक्रिय निर्देशिका में किसी भी कंप्यूटर के विवरण को बदल या हटा सकता है।

विज्ञापन में कंप्यूटर विवरण में अंतिम लॉग ऑन उपयोगकर्ता नाम जोड़ना

उपरोक्त PowerShell स्क्रिप्ट का उपयोग AD में कंप्यूटर ऑब्जेक्ट के विवरण में कोई अन्य जानकारी जोड़ने के लिए किया जा सकता है। उदाहरण के लिए, यह तब उपयोगी होता है जब कंप्यूटर का विवरण वर्तमान में लॉग-ऑन उपयोगकर्ता दिखाता है। आइए उस डोमेन नियंत्रक का नाम भी जोड़ें जिस पर उपयोगकर्ता प्रमाणित है (LOGONSERVER )।

PowerShell लॉगऑन स्क्रिप्ट में एक पंक्ति को इसमें बदलें:

$computerObj.Put("Description","$vendor|$Model|$SerialNumber|$env:username|$env:LOGONSERVER")

लॉगऑफ़ करें और अपने उपयोगकर्ता खाते के अंतर्गत साइन इन करें। जांचें कि कंप्यूटर विवरण विशेषता अब वर्तमान उपयोगकर्ता और लॉगऑनसर्वर (डोमेन नियंत्रक) का नाम दिखाती है जिसे आपने प्रमाणित किया है।

सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें?

विवरण विशेषता से डेटा को पार्स करने के लिए, आप निम्न पावरशेल कोड का उपयोग कर सकते हैं:

$ComputerName = 'PC-MUN22s7b2'
$vendor,$Model,$SerialNumber,$Username,$LogonServer = ((Get-ADComputer -identity  $ComputerName -Properties *).description).split("|")

हम विवरण फ़ील्ड मान को विभाजित करते हैं  (| . से अलग करके) ) कई अलग-अलग चर में। निर्दिष्ट दूरस्थ कंप्यूटर पर उपयोगकर्ता नाम प्राप्त करने के लिए, बस चलाएं:

$Username

सक्रिय निर्देशिका में कंप्यूटर विवरण को स्वचालित रूप से कैसे भरें?

आप उस कंप्यूटर का नाम प्राप्त कर सकते हैं जिस पर एक विशिष्ट उपयोगकर्ता वर्तमान में निम्न पावरशेल स्क्रिप्ट का उपयोग करके लॉग ऑन है:

$user='*M.Becker*'
Get-ADComputer -Filter "description -like '$user'" -properties *|select name,description |ft


  1. Windows 10 में डिफ़ॉल्ट इंस्टॉलेशन डायरेक्टरी को कैसे बदलें

    जब भी आप कोई नया प्रोग्राम या एप्लिकेशन इंस्टॉल करते हैं, तो यह डिफ़ॉल्ट रूप से आपके सिस्टम आर्किटेक्चर या आपके द्वारा इंस्टॉल किए जा रहे प्रोग्राम के आधार पर C:\Program Files या C:\Program Files (x86) डायरेक्टरी में इंस्टॉल हो जाता है। लेकिन यदि आपके पास डिस्क स्थान समाप्त हो रहा है, तो आप प्रोग्रा

  1. Windows 10 में सक्रिय निर्देशिका को कैसे सक्षम करें

    सक्रिय निर्देशिका विंडोज सर्वर तकनीकी पूर्वावलोकन का प्रबंधन करती है। यह प्रशासकों द्वारा अनुमति देने और नेटवर्क पर संसाधनों तक पहुँचने के लिए उपयोग किया जाने वाला एक उपकरण है। यह डिफ़ॉल्ट रूप से विंडोज पीसी पर स्थापित नहीं है। हालाँकि, आप इसे Microsoft की आधिकारिक वेबसाइट से ऑनलाइन प्राप्त कर सकते

  1. इंटरनेट कैसे बोलता है

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