പരസ്യ പവർഷെല്ലിൽ നിന്ന് ഡാറ്റ അപ്‌ലോഡ് ചെയ്യുന്നു. സജീവ ഡയറക്ടറിയിൽ നിന്ന് ഉപയോക്താക്കളുടെ ഒരു ലിസ്റ്റ് ഡൗൺലോഡ് ചെയ്യുന്നതെങ്ങനെ

MS ആക്റ്റീവ് ഡയറക്ടറിയിൽ (ITGC) നിന്ന് എല്ലാ ഉപയോക്താക്കളെയും അൺലോഡ് ചെയ്യുന്നതിനുള്ള സ്ക്രിപ്റ്റുകൾ

ഇവാൻ പിസ്കുനോവ്

സാധാരണ ഓഡിറ്റ് നടപടിക്രമങ്ങളിൽ ഒന്ന് ഐ.ടി.ജി.സി കാറ്റലോഗിനായി സജീവ ഡയറക്ടറി എല്ലാ ഡൊമെയ്ൻ ഉപയോക്താക്കളുടെയും ഒരു ഡൗൺലോഡ് നേടുക എന്നതാണ്. ലഭിച്ച ഡാറ്റയെ അടിസ്ഥാനമാക്കി, ടെസ്റ്റിംഗ് നടപടിക്രമങ്ങൾ രൂപീകരിക്കുന്നു, ഉദാഹരണത്തിന്, അഡ്മിനിസ്ട്രേറ്റർമാരുടെ പട്ടിക പഠിക്കുക അല്ലെങ്കിൽ കാലഹരണപ്പെട്ട പാസ്‌വേഡ് ഉപയോഗിച്ച് ഉപയോക്താക്കളെ തിരിച്ചറിയുക. അത്തരമൊരു അപ്‌ലോഡ് സൃഷ്ടിക്കുന്നതിനുള്ള ഏറ്റവും ഫലപ്രദമായ മാർഗം ഉപയോഗിക്കുക എന്നതാണ് സ്റ്റാൻഡേർഡ് ഇന്റർഫേസ് പവർഷെൽ , ഈ ലേഖനത്തിൽ നാം പരിഗണിക്കുന്ന ഉദാഹരണങ്ങൾ

1. പവർഷെൽ സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് എക്സ്പ്രസ് അപ്ലോഡ് ചെയ്യുക

താഴെ പവർഷെൽ സ്ക്രിപ്റ്റ്, ഏറ്റവും ലളിതമായ ഒന്നായി പെട്ടെന്നുള്ള വഴികൾ CSV ഫോർമാറ്റിലുള്ള എല്ലാ AD ഡൊമെയ്‌ൻ ഉപയോക്താക്കളുടെയും ഒരു ലിസ്റ്റ് നേടുക, അത് Excel-ൽ പ്രശ്‌നങ്ങളൊന്നുമില്ലാതെ തുറക്കാനാകും.

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://ou=Users,ou=Departmets,dc=test,dc=ru" $objSearcher.Filter = "(&(objectCategory=person) (!userAccountControl:1.2.840.113556.1.4.803:=2))" $users = $objSearcher.FindAll() # അക്കൗണ്ടുകളുടെ എണ്ണം $users.Count $users | ForEach-Object ($user = $_.Properties New-Object PsObject -Property @( സ്ഥാനം = $user.description Department = $user.department ലോഗിൻ = $user.userprincipalname ഫോൺ = $user.telephonenumber മുറി = $user.ഫിസിക്കൽ ഡെലിവറി മുഴുവൻ പേര് = $user.cn ) ) | കയറ്റുമതി-Csv -NoClobber -എൻകോഡിംഗ് utf8 -പാത്ത് സി: list_domain_users.csv

നിങ്ങളുടെ സിസ്റ്റത്തിൽ സ്ക്രിപ്റ്റ് പ്രവർത്തിക്കുന്നതിന്, നിങ്ങൾ അത് ചെറുതായി ശരിയാക്കേണ്ടതുണ്ട്, അതായത് ആവശ്യമായ പാരാമീറ്ററുകൾ നൽകുക, അതായത്. എങ്ങനെ അകത്ത് ഈ ഉദാഹരണത്തിൽഇവയാണ് പരാമീറ്ററുകൾ ഉപയോക്താക്കൾ വകുപ്പിൽ വകുപ്പുകൾ ഡൊമെയ്‌നിൽ Test.ru. കൂടാതെ ഫയൽ സേവ് ചെയ്യുന്ന സ്ഥലത്തേക്കുള്ള പാതയും സൂചിപ്പിക്കുക list_domain_users.csv

ഇറക്കിയ ശേഷം ഉടൻ തുറന്നാൽ list_domain_users.csv , വായിക്കാൻ കഴിയാത്തതായി കാണപ്പെടും, എന്നിരുന്നാലും, സ്റ്റാൻഡേർഡ് മാർഗങ്ങൾ ഉപയോഗിച്ച് നമുക്ക് ആവശ്യമുള്ള ഫോർമാറ്റിലേക്ക് എളുപ്പത്തിൽ കൊണ്ടുവരാൻ കഴിയും. Excel-ൽ തുറക്കുക list_domain_users.csv , ആദ്യത്തെ കോളം തിരഞ്ഞെടുക്കുക, തുടർന്ന് "ഡാറ്റ" ടാബിലേക്ക് പോയി "നിരകൾ പ്രകാരം വാചകം" ക്ലിക്ക് ചെയ്യുക. "ഡീലിമിറ്റഡ്" തിരഞ്ഞെടുത്ത് "അടുത്തത്" ക്ലിക്ക് ചെയ്യുക. തയ്യാറാണ്!

?അത് ശ്രദ്ധിക്കേണ്ടതാണ്, എന്ത് ഈ സ്ക്രിപ്റ്റ് 1000-ൽ കൂടുതൽ ഉപയോക്താക്കളെ പ്രദർശിപ്പിക്കില്ല. വേണ്ടി ചെറിയ കമ്പനിഇത് തികച്ചും അനുയോജ്യമാണ്, പക്ഷേ അവരുടെ ഡൊമെയ്‌നിൽ ധാരാളം ഉപയോക്താക്കളുള്ളവർക്ക്, അവർ ചുവടെ വിവരിച്ചിരിക്കുന്ന രീതികൾ അവലംബിക്കേണ്ടതാണ്.

2. അപ്‌ലോഡുകൾ സ്വീകരിക്കുന്നതിനുള്ള വിപുലമായ PowerShell cmdlet സജീവ ഉപയോക്താക്കൾഡയറക്ടറി

വിൻഡോസ് പവർഷെൽ ടൂളിനായുള്ള സജീവ ഡയറക്ടറി മൊഡ്യൂൾ (അവതരിപ്പിച്ചത് വിൻഡോസ് സെർവർ 2008 R2 ഉം ഉയർന്നതും), AD ഡയറക്‌ടറി ഒബ്‌ജക്‌റ്റുകൾ ഉപയോഗിച്ച് വിവിധ കൃത്രിമങ്ങൾ നടത്തുന്ന cmdlets സൃഷ്‌ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഉപയോക്താക്കളെയും അവരുടെ പ്രോപ്പർട്ടികളെയും കുറിച്ചുള്ള വിവരങ്ങൾ ലഭിക്കുന്നതിന് cmdlet ഉപയോഗിക്കുന്നു Get-ADUser.

ആരംഭിക്കാൻ ഒരു പവർഷെൽ വിൻഡോ സമാരംഭിക്കുക അഡ്മിനിസ്ട്രേറ്റർ അവകാശങ്ങളും ഇറക്കുമതിയും സജീവ മൊഡ്യൂൾതുടർ പ്രവർത്തനത്തിനുള്ള ഡയറക്‌ടറി:
ഇറക്കുമതി-മൊഡ്യൂൾ സജീവ ഡയറക്ടറി

ലേക്ക് എല്ലാ ഡൊമെയ്ൻ അക്കൗണ്ടുകളും ലിസ്റ്റ് ചെയ്യുക കൂടാതെ, നമുക്ക് കമാൻഡ് പ്രവർത്തിപ്പിക്കാം:

Get-ADUser -ഫിൽറ്റർ *

ലേക്ക് ലഭ്യമായ എല്ലാ ആട്രിബ്യൂട്ടുകളെക്കുറിച്ചും പൂർണ്ണമായ വിവരങ്ങൾ പ്രദർശിപ്പിക്കുക യൂസർ ട്യൂസർ, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക

Get-ADUser -identity tuser -properties *


ഉദാഹരണത്തിന്, ഇതിനെക്കുറിച്ചുള്ള വിവരങ്ങളിൽ ഞങ്ങൾക്ക് താൽപ്പര്യമുണ്ട് പാസ്‌വേഡ് മാറ്റുന്ന തീയതിയും അത് കാലഹരണപ്പെടുന്ന സമയവും . കമാൻഡിന്റെ ഫലം ഒരു ടെക്സ്റ്റ് ഫയലിലേക്ക് കയറ്റുമതി ചെയ്യാൻ കഴിയും:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | അടി പേര്, പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ്‌സെറ്റ്, പാസ്‌വേഡ്NeverExpires > C:tempusers.txt

അല്ലെങ്കിൽ ഉടനെ CSV-ലേക്ക് അപ്‌ലോഡ് ചെയ്യുക , ഇത് ഭാവിയിൽ Excel-ലേക്ക് കയറ്റുമതി ചെയ്യാൻ സൗകര്യപ്രദമായിരിക്കും (കൂടാതെ, സോർട്ട്-ഒബ്‌ജക്റ്റ് ഉപയോഗിച്ച് ഞങ്ങൾ പാസ്‌വേഡ് ലാസ്റ്റ്സെറ്റ് കോളം ഉപയോഗിച്ച് പട്ടിക അടുക്കും, കൂടാതെ ഒരു വ്യവസ്ഥയും ചേർക്കും - ഉപയോക്തൃനാമത്തിൽ "ദിമിത്രി" എന്ന സ്ട്രിംഗ് അടങ്ങിയിരിക്കണം)

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | എവിടെ ($_.പേര് -"*ദിമിത്രി*" പോലെ) | അടുക്കുക-ഒബ്ജക്റ്റ് പാസ്‌വേഡ് ലാസ്റ്റ്സെറ്റ് | സെലക്ട്-ഒബ്ജക്റ്റ് പേര്, പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ് സെറ്റ്, പാസ്‌വേഡ് ഒരിക്കലും കാലഹരണപ്പെടില്ല | Export-csv -path c:tempuser-password-expires-2015.csv

മുമ്പത്തെ ലേഖനത്തിലെ അഭിപ്രായങ്ങളിൽ, 1C ന് പകരം Excel-ൽ അക്കൗണ്ടിംഗിനെക്കുറിച്ച് ഞങ്ങൾ ഓർത്തു. ശരി, നിങ്ങൾക്ക് Excel എത്രത്തോളം അറിയാം എന്ന് പരിശോധിക്കാം. ആക്ടീവ് ഡയറക്‌ടറിയിൽ നിന്ന് ഡാറ്റ എങ്ങനെ നേടാമെന്നും മാക്രോകളും പവർഷെല്ലും ഇല്ലാതെ എങ്ങനെ പ്രവർത്തിക്കാമെന്നും ഇന്ന് ഞാൻ നിങ്ങളെ കാണിക്കും - സ്റ്റാൻഡേർഡ് ഓഫീസ് മെക്കാനിസങ്ങൾ ഉപയോഗിച്ച് മാത്രം. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് ഇതിനകം Microsoft SCOM പോലെയുള്ള എന്തെങ്കിലും ഇല്ലെങ്കിൽ, നിങ്ങളുടെ സ്ഥാപനത്തിലെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെ ഉപയോഗത്തെക്കുറിച്ചുള്ള അനലിറ്റിക്‌സ് നിങ്ങൾക്ക് എളുപ്പത്തിൽ ലഭിക്കും. ശരി, അല്ലെങ്കിൽ ചൂടുപിടിച്ച് സ്ക്രിപ്റ്റുകളിൽ നിന്ന് നിങ്ങളുടെ മനസ്സ് മാറ്റുക.


തീർച്ചയായും, പവർഷെല്ലിലെ ഒരു വരി ഉപയോഗിച്ച് അക്ഷരാർത്ഥത്തിൽ ചുവടെയുള്ള ഉദാഹരണങ്ങളിലെന്നപോലെ നിങ്ങൾക്ക് ഡാറ്റ ലഭിക്കും. പക്ഷേ, ഒന്നാമതായി, PowerShell വളരെ വിരസമാണ്, രണ്ടാമതായി, Excel ന് ഡാറ്റ ചലനാത്മകമായി അപ്ഡേറ്റ് ചെയ്യാൻ കഴിയും - തത്ഫലമായുണ്ടാകുന്ന പ്രമാണങ്ങൾ ഓൺലൈനിൽ പ്രസിദ്ധീകരിക്കുകയും അവ അപ്ഡേറ്റ് ചെയ്യുന്നതിനെക്കുറിച്ച് മറക്കുകയും ചെയ്യാം.

ഡാറ്റയുമായി പ്രവർത്തിക്കാൻ, ഞാൻ പവർ ക്വറി മെക്കാനിസം ഉപയോഗിക്കും. ഓഫീസ് 2010, 2013 എന്നിവയ്‌ക്കായി നിങ്ങൾ പ്ലഗിൻ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട് മൈക്രോസോഫ്റ്റ് ഓഫീസ് 2016 ഈ മൊഡ്യൂൾ ഇതിനകം അന്തർനിർമ്മിതമാണ്. നിർഭാഗ്യവശാൽ, സ്റ്റാൻഡേർഡ് പതിപ്പ് ഞങ്ങൾക്ക് പര്യാപ്തമല്ല; ഞങ്ങൾക്ക് പ്രൊഫഷണൽ ആവശ്യമാണ്.


ഏറ്റവും കൂടുതൽ ഡാറ്റ സ്വീകരിക്കുന്നതിനും പ്രോസസ്സ് ചെയ്യുന്നതിനുമാണ് ഈ സംവിധാനം തന്നെ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് വ്യത്യസ്ത ഉറവിടങ്ങൾ- പഴയ ODBC, ടെക്സ്റ്റ് ഫയലുകളിൽ നിന്ന് എക്സ്ചേഞ്ച്, ഒറാക്കിൾ, Facebook എന്നിവയിലേക്ക്. മെക്കാനിസത്തെക്കുറിച്ചും ബിൽറ്റ്-ഇൻ സ്ക്രിപ്റ്റിംഗ് ഭാഷയായ "M" നെക്കുറിച്ചുമുള്ള കൂടുതൽ വിശദാംശങ്ങൾ ഹബ്രെയിൽ ഇതിനകം എഴുതിയിട്ടുണ്ട്, എന്നാൽ ഞാൻ കുറച്ച് ഉദാഹരണങ്ങൾ നോക്കാം. ശക്തി ഉപയോഗിക്കുന്നുസജീവ ഡയറക്ടറിയിൽ നിന്ന് ഡാറ്റ വീണ്ടെടുക്കാനുള്ള അന്വേഷണം.

വാം-അപ്പ്: ഞങ്ങളുടെ ഉപയോക്താക്കൾ എപ്പോഴാണ് ലോഗിൻ ചെയ്തതെന്ന് നോക്കാം

ഡൊമെയ്ൻ ഡാറ്റാബേസിലേക്കുള്ള അഭ്യർത്ഥന തന്നെ “ഡാറ്റ - പുതിയ അഭ്യർത്ഥന― മറ്റ് ഉറവിടങ്ങളിൽ നിന്ന് - സജീവ ഡയറക്ടറിയിൽ നിന്ന്.



ഡാറ്റ ഉറവിടം വ്യക്തമാക്കുക.


നിങ്ങൾ ഒരു ഡൊമെയ്ൻ നാമം തിരഞ്ഞെടുത്ത് ആവശ്യമായ കണക്ഷൻ വിവരങ്ങൾ നൽകേണ്ടതുണ്ട്. അടുത്തതായി, ഈ ഉദാഹരണത്തിൽ വസ്തുക്കളുടെ തരം തിരഞ്ഞെടുക്കുക - ഉപയോക്താവ്. പ്രിവ്യൂ വിൻഡോയിൽ വലതുവശത്ത്, ഡാറ്റയുടെ പ്രിവ്യൂ കാണിക്കുന്ന അന്വേഷണം ഇതിനകം പ്രവർത്തിക്കുന്നു.



ഞങ്ങൾ ഒരു അഭ്യർത്ഥന തയ്യാറാക്കുകയും പ്രിവ്യൂവിനെ അഭിനന്ദിക്കുകയും ചെയ്യുന്നു.


"എഡിറ്റ്" ബട്ടൺ ക്ലിക്കുചെയ്ത് തിരഞ്ഞെടുത്ത് ആദ്യം നിങ്ങളുടെ അഭ്യർത്ഥന തയ്യാറാക്കണം ആവശ്യമായ നിരകൾ. അടിസ്ഥാനപരമായി, ഈ നിരകൾ ക്ലാസുകളാണ്. അവയിൽ ഓരോന്നിലും പ്രധാന കോളം ഒഴികെ, ഒരു സജീവ ഡയറക്ടറി ഒബ്‌ജക്റ്റിന്റെ പ്രത്യേക ആട്രിബ്യൂട്ടുകളുടെ ഒരു കൂട്ടം അടങ്ങിയിരിക്കുന്നു പ്രദർശന നാമം, അത് തന്നെ ഒരു ആട്രിബ്യൂട്ട് ആണ്. ഞാൻ ക്ലാസുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കും ഉപയോക്താവ്, വ്യക്തി, മുകളിൽഒപ്പം സുരക്ഷാ പ്രിൻസിപ്പൽ. ഇപ്പോൾ നിങ്ങൾ തിരഞ്ഞെടുക്കേണ്ടതുണ്ട് ആവശ്യമായ ആട്രിബ്യൂട്ടുകൾഓരോ ക്ലാസ്സിൽ നിന്നും “വിപുലീകരണം” ഉപയോഗിക്കുന്നു - നിരയുടെ തലക്കെട്ടിൽ രണ്ട് അമ്പടയാളങ്ങളുള്ള ഒരു ഐക്കൺ:

  • ക്ലാസ് ഉപയോക്താവ്തിരഞ്ഞെടുത്ത് വികസിപ്പിക്കുക അവസാന ലോഗോൺടൈംസ്റ്റാമ്പ്ഒപ്പം ഉപയോക്തൃ അക്കൗണ്ട് നിയന്ത്രണം;
  • വി വ്യക്തിനമുക്ക് തിരഞ്ഞെടുക്കാം ടെലിഫോൺ നമ്പർ;
  • വി മുകളിൽസൃഷ്ടിച്ചപ്പോൾ;
  • ഒപ്പം സുരക്ഷാ പ്രിൻസിപ്പൽSamAccountName.


ഞങ്ങൾ അഭ്യർത്ഥന വിപുലീകരിക്കുന്നു.


ഇനി നമുക്ക് ഫിൽട്ടർ സജ്ജീകരിക്കാം: പ്രത്യേകിച്ചും, ബ്ലോക്ക് ചെയ്ത അക്കൗണ്ടുകൾ ലഭിക്കാതിരിക്കാൻ, userAccountControl ആട്രിബ്യൂട്ടിന് 512 അല്ലെങ്കിൽ 66048 മൂല്യം ഉണ്ടായിരിക്കണം. നിങ്ങളുടെ പരിതസ്ഥിതിയിൽ ഫിൽട്ടർ വ്യത്യസ്തമായിരിക്കാം. മൈക്രോസോഫ്റ്റ് ഡോക്യുമെന്റേഷനിൽ നിങ്ങൾക്ക് ആട്രിബ്യൂട്ടിനെക്കുറിച്ച് കൂടുതൽ വായിക്കാം.



ഒരു ഫിൽട്ടർ പ്രയോഗിക്കുന്നു.


ചിലപ്പോൾ Excel തെറ്റായി ഡാറ്റ ഫോർമാറ്റ് കണ്ടെത്തുന്നു, പ്രത്യേകിച്ച് അവസാന LogonTimestamp ആട്രിബ്യൂട്ടിന്റെ മൂല്യം. അത്തരമൊരു ദൗർഭാഗ്യം നിങ്ങൾക്ക് പെട്ടെന്ന് സംഭവിച്ചാൽ, "പരിവർത്തനം" ടാബിൽ നിങ്ങൾക്ക് ശരിയായ ഫോർമാറ്റ് സജ്ജമാക്കാൻ കഴിയും.

ഇപ്പോൾ userAccountControl കോളം ഇല്ലാതാക്കണം - ഡിസ്പ്ലേയിൽ ഇത് ആവശ്യമില്ല. കൂടാതെ "ഡൗൺലോഡ് ചെയ്ത് അടയ്ക്കുക" ക്ലിക്ക് ചെയ്യുക.


ഫലം ഒരു ചെറിയ ഫിനിഷിംഗ് ടച്ചുകൾ ആവശ്യമുള്ള ഒരു പ്ലേറ്റ് ആണ്. ഉദാഹരണത്തിന്, കോളങ്ങളുടെ പേര് കൂടുതൽ വായിക്കാൻ കഴിയുന്ന ഒന്നിലേക്ക് മാറ്റുക. ഒപ്പം ഇഷ്ടാനുസൃതമാക്കുക യാന്ത്രിക അപ്ഡേറ്റ്ഡാറ്റ.


ഒരു ടേബിൾ തുറക്കുമ്പോഴോ കാലഹരണപ്പെടുമ്പോഴോ യാന്ത്രിക അപ്‌ഡേറ്റ് "പ്രോപ്പർട്ടീസ്" എന്നതിലെ "ഡാറ്റ" ടാബിൽ കോൺഫിഗർ ചെയ്തിരിക്കുന്നു.



ഡാറ്റ അപ്ഡേറ്റ് സജ്ജീകരിക്കുന്നു.


അപ്‌ഡേറ്റ് സജ്ജീകരിച്ച ശേഷം, നിങ്ങൾക്ക് സുരക്ഷിതമായി ടേബിൾ പേഴ്‌സണൽ ഡിപ്പാർട്ട്‌മെന്റിനോ സുരക്ഷാ സേവനത്തിനോ നൽകാം - ആരാണ് സിസ്റ്റത്തിൽ ലോഗിൻ ചെയ്‌തതെന്നും എപ്പോഴാണെന്നും അവരെ അറിയിക്കുക.


"M" ഭാഷയിലുള്ള അഭ്യർത്ഥന കോഡ് സ്‌പോയിലറിന് കീഴിലാണ്.

അനുവദിക്കുക ഉറവിടം = ActiveDirectory.Domains("domain.ru"), domain.ru = ഉറവിടം()[#"ഒബ്‌ജക്റ്റ് വിഭാഗങ്ങൾ"], user1 = domain.ru(), #"Remote Columns" = Table.RemoveColumns(user1,( "organisationalPerson", "shadowAccount", "posixAccount", "msExchOmaUser", "msExchBaseClass", "msExchIM സ്വീകർത്താവ്", "msExchCertificateInformation", "msExchMultiMediaUserchomustrage," മെയിൽ സ്വീകർത്താവ്", "വിശിഷ്‌ടമായ പേര്")), #"വികസിപ്പിച്ച എലമെന്റ് സെക്യൂരിറ്റി പ്രിൻസിപ്പൽ" = Table.ExpandRecordColumn(#"നീക്കം ചെയ്ത നിരകൾ", "securityPrincipal", ("sAMAccountName"), #"വികസിപ്പിച്ച മൂലകം ടോപ്പ്" = Table.ExpandRecordExrinpald(# SecurityPxrinpaln(# SecurityPxrincipal) "," മുകളിൽ ")), #"വികസിപ്പിച്ച മൂലക ഉപയോക്താവ്" = പട്ടിക.വികസിപ്പിച്ച റിക്കോർഡ് നിര ഫിൽട്ടർ പ്രയോഗിച്ചു" = Table.SelectRows(#"വികസിപ്പിച്ച ഉപയോക്തൃ ഘടകം", ഓരോന്നും ( = 512 അല്ലെങ്കിൽ = 66048)), #"മാറ്റപ്പെട്ട തരം" = Table.TransformColumnTypes(#"അരിപ്പ പ്രയോഗിച്ച വരികൾ",("lastLogonTimestamp", തീയതി ടൈപ്പ് ചെയ്യുക))), #"വിദൂര കോളങ്ങൾ1" = പട്ടിക

ഞങ്ങൾ സൃഷ്ടിക്കുന്നു മേൽവിലാസ പുസ്തകം, അല്ലെങ്കിൽ എപ്പോൾ എന്ത് ചെയ്യണം കോർപ്പറേറ്റ് പോർട്ടൽ AD യുമായി സൗഹൃദമല്ല

ആക്റ്റീവ് ഡയറക്ടറിയുമായി ചേർന്ന് Excel ഉപയോഗിക്കുന്നതിനുള്ള മറ്റൊരു ഓപ്ഷൻ എഡി ഡാറ്റയെ അടിസ്ഥാനമാക്കി ഒരു വിലാസ പുസ്തകം സൃഷ്ടിക്കുക എന്നതാണ്. ഡൊമെയ്‌ൻ ക്രമത്തിലാണെങ്കിൽ മാത്രമേ വിലാസ പുസ്തകം കാലികമാകൂ എന്ന് വ്യക്തമാണ്.


ഒരു ഒബ്ജക്റ്റിനായി ഒരു അഭ്യർത്ഥന സൃഷ്ടിക്കാം ഉപയോക്താവ്, ക്ലാസ് വിപുലീകരിക്കുക ഉപയോക്താവ്വി മെയിൽ, ക്ലാസും വ്യക്തിവി ടെലിഫോൺ നമ്പർ. ഒഴികെയുള്ള എല്ലാ കോളങ്ങളും ഇല്ലാതാക്കാം വിശിഷ്ടമായ പേര്- ഡൊമെയ്ൻ ഘടന എന്റർപ്രൈസസിന്റെ ഘടന ആവർത്തിക്കുന്നു, അതിനാൽ പേരുകൾ സംഘടനാ യൂണിറ്റുകൾവകുപ്പുകളുടെ പേരുകളുമായി പൊരുത്തപ്പെടുന്നു. അതുപോലെ, സെക്യൂരിറ്റി ഗ്രൂപ്പുകൾ ഡിപ്പാർട്ട്മെന്റ് പേരുകൾക്ക് അടിസ്ഥാനമായി ഉപയോഗിക്കാം.


ഇപ്പോൾ വരിയിൽ നിന്ന് CN=ഉപയോക്തൃനാമം, OU=അക്കൗണ്ടിംഗ് വകുപ്പ്, OU=ഡിവിഷനുകൾ, DC=ഡൊമെയ്ൻ, DC=ruനിങ്ങൾ വകുപ്പിന്റെ പേര് നേരിട്ട് എക്‌സ്‌ട്രാക്റ്റുചെയ്യേണ്ടതുണ്ട്. ട്രാൻസ്ഫോം ടാബിലെ ഡിലിമിറ്ററുകൾ ഉപയോഗിക്കുക എന്നതാണ് ഇതിനുള്ള എളുപ്പവഴി.



വാചകം എക്‌സ്‌ട്രാക്റ്റുചെയ്യുന്നു.


ഡിലിമിറ്ററുകളായി ഞാൻ ഉപയോഗിക്കുന്നു OU=ഒപ്പം ,OU=. തത്വത്തിൽ, ഒരു കോമ മതി, പക്ഷേ ഞാൻ അത് സുരക്ഷിതമായി കളിക്കുന്നു.



ഡിലിമിറ്ററുകൾ നൽകുക.


ഇപ്പോൾ ഫിൽട്ടർ ഉപയോഗിച്ച് നിങ്ങൾക്ക് അനാവശ്യമായി മുറിക്കാൻ കഴിയും ഒ.യു, തടഞ്ഞ ഉപയോക്താക്കളെ പോലെ ഒപ്പം ബിൽട്ടിൻ, സോർട്ടിംഗ് കോൺഫിഗർ ചെയ്ത് പട്ടികയിലേക്ക് ഡാറ്റ ലോഡ് ചെയ്യുക.



സംഗ്രഹ പട്ടികയുടെ കാഴ്ച.

ഏജന്റുമാരെയോ മറ്റ് തയ്യാറെടുപ്പുകളോ അവതരിപ്പിക്കാതെ, വർക്ക്സ്റ്റേഷനുകളുടെ ഘടനയെക്കുറിച്ചുള്ള ദ്രുത റിപ്പോർട്ട്

ഇപ്പോൾ കമ്പ്യൂട്ടറുകളിൽ ഡാറ്റ നേടിക്കൊണ്ട് ഉപയോഗപ്രദമായ ഒരു പട്ടിക ഉണ്ടാക്കാൻ ശ്രമിക്കാം. കമ്പനി ഉപയോഗിക്കുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളെക്കുറിച്ച് ഒരു റിപ്പോർട്ട് തയ്യാറാക്കാം: ഇതിനായി ഞങ്ങൾ ഒരു അഭ്യർത്ഥന സൃഷ്ടിക്കും, എന്നാൽ ഇത്തവണ നാവിഗേറ്ററിൽ ഞങ്ങൾ തിരഞ്ഞെടുക്കും കമ്പ്യൂട്ടർ.



കമ്പ്യൂട്ടർ ഒബ്ജക്റ്റിനായി ഞങ്ങൾ ഒരു അഭ്യർത്ഥന നടത്തുന്നു.


കോളം ക്ലാസുകൾ വിടാം കമ്പ്യൂട്ടർഒപ്പം മുകളിൽഅവ വികസിപ്പിക്കുകയും ചെയ്യുക:

  • ക്ലാസ് കമ്പ്യൂട്ടർതിരഞ്ഞെടുത്ത് വികസിപ്പിക്കുക cn, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം സർവീസ്പാക്ക്ഒപ്പം ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പതിപ്പ്;
  • ക്ലാസിൽ മുകളിൽനമുക്ക് തിരഞ്ഞെടുക്കാം സൃഷ്ടിച്ചപ്പോൾ.


വിപുലമായ അഭ്യർത്ഥന.


വേണമെങ്കിൽ, സെർവർ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ മാത്രമേ നിങ്ങൾക്ക് ഒരു റിപ്പോർട്ട് ചെയ്യാൻ കഴിയൂ. ഉദാഹരണത്തിന്, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അല്ലെങ്കിൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പതിപ്പ് ആട്രിബ്യൂട്ട് പ്രകാരം ഫിൽട്ടർ ചെയ്യുക. ഞാൻ ഇത് ചെയ്യില്ല, പക്ഷേ സൃഷ്ടി സമയത്തിന്റെ പ്രദർശനം ഞാൻ ശരിയാക്കും - എനിക്ക് വർഷത്തിൽ മാത്രമേ താൽപ്പര്യമുള്ളൂ. ഇത് ചെയ്യുന്നതിന്, "പരിവർത്തനം" ടാബിൽ, നമുക്ക് ആവശ്യമുള്ള കോളം തിരഞ്ഞെടുത്ത് "തീയതി" മെനുവിൽ "വർഷം" തിരഞ്ഞെടുക്കുക.



കമ്പ്യൂട്ടർ ഡൊമെയ്‌നിൽ പ്രവേശിച്ച സമയം മുതൽ ഞങ്ങൾ വർഷം എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുന്നു.


ഇപ്പോൾ ബാക്കിയുള്ളത് ഡിസ്പ്ലേ നെയിം കോളം അനാവശ്യമായി ഇല്ലാതാക്കി ഫലം ലോഡ് ചെയ്യുക എന്നതാണ്. ഡാറ്റ തയ്യാറാണ്. ഇപ്പോൾ നിങ്ങൾക്ക് ഒരു സാധാരണ ടേബിൾ പോലെ അവരോടൊപ്പം പ്രവർത്തിക്കാം. ആദ്യം, "ഇൻസേർട്ട്" ടാബിൽ ഒരു പിവറ്റ് ടേബിൾ ഉണ്ടാക്കാം - " പിവറ്റ് പട്ടിക" ഡാറ്റാ ഉറവിടം തിരഞ്ഞെടുക്കുന്നത് അംഗീകരിക്കുകയും അതിന്റെ ഫീൽഡുകൾ കോൺഫിഗർ ചെയ്യുകയും ചെയ്യാം.



പിവറ്റ് ടേബിൾ ഫീൽഡ് ക്രമീകരണങ്ങൾ.


ഇപ്പോൾ അവശേഷിക്കുന്നത് നിങ്ങളുടെ അഭിരുചിക്കനുസരിച്ച് ഡിസൈൻ ഇഷ്ടാനുസൃതമാക്കുകയും ഫലത്തെ അഭിനന്ദിക്കുകയും ചെയ്യുക എന്നതാണ്:



എഡിയിലെ കമ്പ്യൂട്ടറുകൾക്കുള്ള സംഗ്രഹ പട്ടിക.


വേണമെങ്കിൽ, നിങ്ങൾക്ക് ചേർക്കാം സംഗ്രഹ ഷെഡ്യൂൾ, Insert ടാബിലും. "വിഭാഗത്തിൽ" (അല്ലെങ്കിൽ "വരികളിൽ", ആസ്വദിക്കാൻ) ചേർക്കുക ഓപ്പറേറ്റിംഗ് സിസ്റ്റം, ഡാറ്റയിലേക്ക് -- cn. "ഡിസൈൻ" ടാബിൽ, നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ചാർട്ട് തിരഞ്ഞെടുക്കാം; ഞാൻ പൈ ചാർട്ട് തിരഞ്ഞെടുത്തു.



പൈ ചാർട്ട്.


നിലവിലുള്ള അപ്‌ഡേറ്റ് ഉണ്ടായിരുന്നിട്ടും, വിൻഡോസ് എക്സ്പിയും വിൻഡോസ് 2003 ഉള്ള സെർവറുകളും ഉള്ള മൊത്തം വർക്ക്സ്റ്റേഷനുകളുടെ എണ്ണം വളരെ വലുതാണെന്ന് ഇപ്പോൾ വ്യക്തമായി കാണാം. ഒപ്പം പരിശ്രമിക്കാൻ ചിലതുമുണ്ട്.


അഭ്യർത്ഥന കോഡ് സ്‌പോയിലറിന് കീഴിലാണ്.

ഉറവിടം = ActiveDirectory.Domains("domain.ru"), domain.ru = ഉറവിടം()[#"ഒബ്‌ജക്റ്റ് വിഭാഗങ്ങൾ"], കമ്പ്യൂട്ടർ1 = domain.ru(), #"റിമോട്ട് കോളങ്ങൾ" = Table.RemoveColumns(computer1,(computer1,(computer1,(computer1,(computer1,(computer1,(computer1,(computer1,(computer1) "user", "organizationalPerson", "person")), #"മറ്റ് നീക്കം ചെയ്‌ത നിരകൾ" = പട്ടിക.SelectColumns(#"Remoted columns",("displayName", "computer", "top")), #"ഇനം വികസിപ്പിക്കുക കമ്പ്യൂട്ടർ" = Table.ExpandRecordColumn(#"മറ്റ് റിമോട്ട് കോളങ്ങൾ", "കമ്പ്യൂട്ടർ", ("cn", "operatingSystem", "operatingSystemServicePack", "operatingSystemVersion"), ("cn", "operatingSystem", "operatingSystemService", " ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പതിപ്പ്")), #"വിപുലീകരിച്ച ടോപ്പ്" = ടേബിൾ.എക്‌സ്‌പാൻഡ് റിക്കോർഡ് കോളം(#"വികസിപ്പിച്ച കമ്പ്യൂട്ടർ", "മുകളിൽ", ("സൃഷ്‌ടിച്ചപ്പോൾ"), ("സൃഷ്‌ടിച്ചപ്പോൾ")), #"എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്‌ത വർഷം" = ടേബിൾ.ട്രാൻസ്‌ഫോം കോളങ്ങൾ( #" വികസിപ്പിച്ച എലമെന്റ് ടോപ്പ്",(("സൃഷ്‌ടിച്ചപ്പോൾ", തീയതി.വർഷം)), #"വിദൂര കോളങ്ങൾ1" = പട്ടിക.RemoveColumns(#"Extracted year",("displayName")) #"Remoted columns1"

ടാഗ് ചേർക്കുക

0

എങ്കിൽ പരിശോധിക്കുന്ന ഇനിപ്പറയുന്ന വർക്കിംഗ് സ്ക്രിപ്റ്റ് എന്റെ പക്കലുണ്ട് വലിയ പട്ടികഎഡി ഗ്രൂപ്പിലെ അംഗമെന്ന നിലയിൽ CSV ഫയലിലെ ഉപയോക്താക്കൾ ഫലങ്ങൾ results.csv-ലേക്ക് എഴുതുന്നു.

സ്ക്രിപ്റ്റ് എങ്ങനെ പരിവർത്തനം ചെയ്യണമെന്ന് ഉറപ്പില്ലാത്തതിനാൽ എനിക്ക് $group = "InfraLite" എന്നത് $group = DC ആയി മാറ്റാൻ കഴിയും.\List_Of_AD_Groups.CSV .

അതിനാൽ സ്‌ക്രിപ്റ്റ് ഒരു AD ഗ്രൂപ്പിനുള്ള മത്സരങ്ങൾ മാത്രമല്ല, List_of_AD_groups.csv-ൽ അടങ്ങിയിരിക്കുന്ന 80 എഡി ഗ്രൂപ്പുകൾക്കുള്ള പൊരുത്തങ്ങൾ നൽകുന്നു. ഓരോ എഡി ഗ്രൂപ്പിനും ഒരു പുതിയ CSV കോളത്തിൽ YES/NO എന്ന് എഴുതുന്നത് (അല്ലെങ്കിൽ ഇത് സാധ്യമല്ലെങ്കിൽ, ഫലങ്ങളോടൊപ്പം ഓരോ ഗ്രൂപ്പിനും പ്രത്യേകം CSV ഫയൽ സൃഷ്‌ടിക്കുന്നത് സമാനമാണ്.

$ഗ്രൂപ്പിൽ നിന്നും എക്‌സ്‌പോർട്ട് ഫയലിന്റെ പേരിൽ നിന്നും മൂല്യം മാറ്റി സ്‌ക്രിപ്റ്റ് 80 തവണ റീ-റൺ ചെയ്‌ത് എനിക്ക് ഇത് സ്വമേധയാ ചെയ്യാൻ കഴിയും, എന്നാൽ ഇത് ചെയ്യുന്നതിന് PS-ൽ പെട്ടെന്ന് ശ്രമിക്കേണ്ടതുണ്ട്.

ഉദാഹരണത്തിന് results.csv?:

പേര് AD_GROUP1 AD_GROUP2 AD_GROUP80 മുതലായവ. user1 അതെ ഇല്ല അതെ ഉപയോക്താവ്2 ഇല്ല ഇല്ല അതെ ഉപയോക്താവ്3 ഇല്ല ഇല്ല പ്രതിധ്വനി "UserName`InfraLite" >> results.csv $users = GC .\user_list.csv $group = "InfraLite" $members = Get-ADGroupMember -Recurives $ ഗ്രൂപ്പ് - | തിരഞ്ഞെടുക്കുക -ExpandProperty SAMAccountName foreach ($user in $user) ( ($members -ഉണ്ടെങ്കിൽ $user) (എക്കോ "$user $group`tYes" >> results.csv ) വേറെ (എക്കോ "$user`tNo" >> ഫലങ്ങൾ .csv))

  • 2 ഉത്തരങ്ങൾ
  • അടുക്കുന്നു:

    പ്രവർത്തനം

0

നിങ്ങളുടെ നിലവിലുള്ള കോഡ് മറ്റൊരു ലൂപ്പിൽ പൊതിഞ്ഞ് ഓരോ ഗ്രൂപ്പിനും ഒരു ഔട്ട്‌പുട്ട് ഫയൽ സൃഷ്‌ടിക്കുക എന്നതാണ് നിങ്ങളുടെ പ്രശ്‌നത്തിനുള്ള ഒരു നിസ്സാര പരിഹാരം:

$groups = Get-content "C:\groups.txt" foreach ($groups in $group) ( $members = Get-ADGroupMember ... ... )

ഒരു ഗ്രൂപ്പ് മാപ്പിംഗ് ടെംപ്ലേറ്റ് സൃഷ്‌ടിക്കുക, ഓരോ ഉപയോക്താവിനും അത് ക്ലോൺ ചെയ്യുക, ഉപയോക്താവിന്റെ ഗ്രൂപ്പ് അംഗത്വങ്ങൾക്കൊപ്പം ഒരു പകർപ്പ് പോപ്പുലേറ്റ് ചെയ്യുക എന്നിവയാണ് കൂടുതൽ ഗംഭീരമായ സമീപനം. ഇതുപോലുള്ള എന്തെങ്കിലും പ്രവർത്തിക്കണം:

$template = @() Get-Content "C:\groups.txt" | ForEach-Object ($template[$_] = $false ) $groups = @() Get-ADGroup -Filter * | ForEach-Object ($groups[$_.DistinguishedName] = $_.Name ) Get-ADUser -Filter * -Properties MemberOf | ForEach-Object ($groupmap = $template.Clone() $_.MemberOf | ForEach-Object ($groups[$_] ) | എവിടെ-ഒബ്ജക്റ്റ് ($groupmap.ContainsKey($_) ) | ForEach-Object ($groupmap) [$_] = $true ) പുതിയ ഒബ്ജക്റ്റ് -തരം PSObject -Property $groupmap ) | കയറ്റുമതി-Csv "C:\user_group_mapping.csv" -NoType

0

ഞാൻ കുറച്ചുകാലമായി ഇത് കളിക്കുന്നു, നിങ്ങൾ എന്താണ് പിന്തുടരുന്നതെന്ന് കൃത്യമായി മനസ്സിലാക്കാൻ ഞാൻ ഒരു വഴി കണ്ടെത്തിയെന്ന് ഞാൻ കരുതുന്നു.

അൻസ്‌ഗർ ശരിയായ പാതയിലായിരുന്നുവെന്ന് ഞാൻ കരുതുന്നു, പക്ഷേ പിന്നീടുള്ള കാര്യങ്ങൾ ചെയ്യാൻ എനിക്ക് കഴിഞ്ഞില്ല. എഴുതുന്ന സമയത്ത് തനിക്ക് എഡി പരിതസ്ഥിതിയിലേക്ക് പ്രവേശനം ഉണ്ടായിരുന്നില്ലെന്ന് അദ്ദേഹം സൂചിപ്പിച്ചു.

ഞാൻ കൊണ്ടുവന്നത് ഇതാ:

$UserArray = Get-content "C:\Temp\Users.txt" $GroupArray = Get-Content "C:\Temp\Groups.txt" $OutputFile = "C:\Temp\Something.csv" # ഒരു ഹാഷ്‌ടേബിൾ സജ്ജീകരിക്കുന്നു പിന്നീടുള്ള ഉപയോഗത്തിനായി $UserHash = New-Object -TypeName System.Collections.Hashtable # UserHash $UserArray-ലേക്ക് ഉപയോക്താക്കളെയും അംഗത്വത്തെയും ചേർക്കുന്നതിനുള്ള ഔട്ടർ ലൂപ്പ് | ForEach-Object( $UserInfo = Get-ADUser $_ -Properties MemberOf # $Memberships = $UserInfo.MemberOf .replace("CN=","") ) #ഉപയോക്താവിനെ ചേർക്കുന്നു=അംഗത്വ ജോഡി ഹാഷിലേക്ക് $UserHash.Add($_,$Memberships) ) #ഔട്ടർ ലൂപ്പ് ഓരോ ഉപയോക്താവിനും ഒരു ഒബ്ജക്റ്റ് സൃഷ്ടിക്കാൻ $Results = $UserArray | ഓരോ വസ്തുവിനും ( # ആദ്യം സൃഷ്ടിക്കുക a ലളിതമായ വസ്തു$User = New-Object -TypeName PSCustomObject -Property @( Name = $_ ) # $GroupArray $GroupArray അടിസ്ഥാനമാക്കി ഒബ്‌ജക്റ്റിലേക്ക് അംഗങ്ങളെ ചലനാത്മകമായി ചേർക്കുക | ForEach-Object ( #UserHash ഉപയോക്താവിന്റെ അംഗത്വ ലിസ്റ്റിൽ ഗ്രൂപ്പ് കാണിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കുന്നു $UserIsMember = $UserHash.($User.Name) -ഒബ്‌ജക്റ്റിലേക്ക് $_#ആഡിംഗ് പ്രോപ്പർട്ടിയും $User മൂല്യവും അടങ്ങിയിരിക്കുന്നു | ആഡ്-മെമ്പർ -MemberType NoteProperty -Name $_ -Value $UserIsMember ) #ഒബ്ജക്റ്റ് വേരിയബിളിലേക്ക് തിരികെ നൽകുന്നു $User മടങ്ങുക ) #ഒബ്‌ജക്റ്റുകളെ ഒരു CSV ആയി പരിവർത്തനം ചെയ്യുക, തുടർന്ന് അവയെ ഔട്ട്‌പുട്ട് ചെയ്യുക $ഫലങ്ങൾ | CSV-ലേക്ക് പരിവർത്തനം ചെയ്യുക -NoTypeInformation | Output-File $Out-File

എല്ലാം അർത്ഥമാക്കുമെന്ന് നമുക്ക് പ്രതീക്ഷിക്കാം. എനിക്ക് കഴിയുന്നത്ര ഞാൻ കമന്റ് ചെയ്തു. നിങ്ങൾ ഇത് പ്രവർത്തിപ്പിക്കുന്ന ഏത് മെഷീനിലും RSAT ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ ADSI-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് വളരെ എളുപ്പമായിരിക്കും. നിങ്ങൾക്കത് വേണമെങ്കിൽ, എന്നെ അറിയിക്കൂ, ഞാൻ പെട്ടെന്ന് ചില മാറ്റങ്ങൾ വരുത്താം.

ഗുഡ് ആഫ്റ്റർനൂൺ പ്രിയ വായനക്കാരേഒപ്പം വരിക്കാരും, പവർഷെല്ലിന്റെയും ആക്ടീവ് ഡയറക്ടറിയുടെയും കഴിവുകൾ ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്യുന്നത് തുടരുന്നു. നിങ്ങൾ ഓർക്കുന്നതുപോലെ, അവളുടെ എല്ലാ ഉപയോക്തൃ, കമ്പ്യൂട്ടർ അക്കൗണ്ടുകളും NTDS.dit ഡാറ്റാബേസിൽ സ്ഥിതിചെയ്യുന്നു, എല്ലാം മികച്ചതും കേന്ദ്രീകൃതവുമാണ്. ഒരു കമ്പനിക്ക് ഒന്നിലധികം സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർ ഉള്ളപ്പോൾ, മാലിന്യങ്ങളും അനാവശ്യ യോഗ്യതാപത്രങ്ങളും കുമിഞ്ഞുകൂടുന്ന ഒരു സാഹചര്യം ഉടലെടുത്തേക്കാം. നാമെല്ലാവരും മനുഷ്യരാണ്, നമുക്ക് ചില കാര്യങ്ങൾ മറക്കാം, ചില നിമിഷങ്ങളിൽ നമുക്ക് ശ്രദ്ധ തിരിക്കാം, അത് മറക്കാനും ഇടയാക്കും. പ്രധാനപ്പെട്ട വിവരം. ആക്‌വി ഡയറക്‌ടറി ശേഖരിക്കപ്പെടുന്നില്ല എന്ന നിഗമനത്തിൽ ഞങ്ങൾ എത്തിച്ചേരുന്നു സജീവ ഉപയോക്താക്കൾ(പുറത്താക്കിയതോ മറന്നുപോയതോ), ഏത് സാഹചര്യത്തിലും, ഒരു നല്ല സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ അവരെ തിരിച്ചറിയുകയും അവ പ്രവർത്തനരഹിതമാക്കുകയും തുടർന്ന് ആവശ്യമെങ്കിൽ അവ ഇല്ലാതാക്കുകയും വേണം, അതാണ് ഞങ്ങൾ ചെയ്യുന്നത്.

ADUC സ്നാപ്പ്-ഇൻ വഴി

കഴിഞ്ഞ തവണ ഞാൻ നിങ്ങൾക്ക് ഉപയോഗത്തിന്റെ ഒരു ഉദാഹരണം നൽകി സജീവ സ്നാപ്പ്-ഇൻ ഡയറക്ടറി ഉപയോക്താക്കൾകമ്പ്യൂട്ടറുകളും, അതിലൂടെ ഞങ്ങൾ ഒരു മാസമായി ദൃശ്യമാകാത്ത ലോക്കൽ നെറ്റ്‌വർക്കിൽ കാണാതായ കമ്പ്യൂട്ടറുകൾക്കായി തിരഞ്ഞു. ഇപ്പോൾ ഞങ്ങൾ ഉപയോക്തൃ അക്കൗണ്ടുകളിലും ഇത് ചെയ്യും. എനിക്ക് Windows Server 2012 R2-ൽ AD ഉണ്ട്, ADUC തുറക്കുക, ഇത് ചെയ്യുന്നതിന് WIN+R അമർത്തി dsa.msc നൽകുക.

തുറക്കുന്ന അഭ്യർത്ഥന ഫോമിൽ, നൽകുക:

  • അഭ്യർത്ഥന പേര് > എന്നെ സംബന്ധിച്ചിടത്തോളം ഇത് നഷ്ടപ്പെട്ട ഉപയോക്താക്കളാണ്
  • ആവശ്യമെങ്കിൽ വിവരണം
  • റൂട്ട് അഭ്യർത്ഥിക്കുക> ഇവിടെ നിങ്ങൾക്ക് മുഴുവൻ ഡൊമെയ്‌നും വിടാം, അല്ലെങ്കിൽ ആവശ്യമുള്ള OU-ൽ അത് വ്യക്തമാക്കുക

തുടർന്ന് റിക്വസ്റ്റ് ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക.

ഉപയോക്തൃ ടാബിൽ "അവസാനം ലോഗിൻ ചെയ്തതിന് ശേഷമുള്ള ദിവസങ്ങളുടെ എണ്ണം" എന്ന ഇനം ഞങ്ങൾ കാണുന്നു; ഉദാഹരണത്തിന്, ഞാൻ ഇത് 60 ദിവസമായി സജ്ജമാക്കി.

തൽഫലമായി, പ്രവർത്തനരഹിതമായ ജീവനക്കാരുടെ അക്കൗണ്ടുകളുടെ ലിസ്റ്റ് നിങ്ങൾക്ക് ലഭിക്കും.

പവർഷെൽ സ്നാപ്പ്-ഇൻ വഴി

പവർഷെല്ലിലൂടെയും ഇതുതന്നെ ചെയ്യാം. ചുമതലയുള്ള കോഡ് ഞാൻ ഉടൻ നിങ്ങൾക്ക് നൽകും തിരച്ചിൽ നടക്കുന്നുനിഷ്‌ക്രിയ ഉപയോക്താക്കൾ, ഇതിനായി ഞാൻ 45 ദിവസത്തെ കാലയളവ് തിരഞ്ഞെടുത്തു, ഉപയോക്തൃ ഡാറ്റ പ്രവർത്തനരഹിതമാക്കുകയും പ്രത്യേകം നിയുക്ത OU-ലേക്ക് നീങ്ങുകയും ചെയ്യുന്നു.

$date_with_offset= (Get-Date).AddDays(-45)
$users = Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | LastLogonDate അടുക്കുക
foreach ($user in $user) (set-aduser $user -enabled $false; move-adobject -identity $user -targetpath "ou=Fired,ou=Moscow L. ഉപയോക്താക്കൾ,ou=ലൊക്കേഷൻ,dc=msk,dc= contoso,dc=com")
Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | LastLogonDate | അടുക്കുക FT നാമം, അവസാന ലോഗിൻ തീയതി -ഓട്ടോ സൈസ് | ഔട്ട്-ഫയൽ c:\Script\users.txt

  • ആദ്യ വരിയിൽ നിങ്ങൾ തിരയൽ പദം സജ്ജമാക്കിയ ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കുന്നു
  • ഒരു വേരിയബിൾ സൃഷ്ടിച്ച് അവസാന ലോഗിൻ സമയത്തെ അടിസ്ഥാനമാക്കി ഒരു തിരഞ്ഞെടുപ്പ് നടത്തുക
  • ഉപയോക്താക്കളെ നീക്കുന്നു

  • ഒരു ഫയലിലേക്ക് ഒരു റിപ്പോർട്ട് ഉണ്ടാക്കുന്നു

ഉപയോക്താവുമായി പ്രവർത്തിക്കുന്നത് സംബന്ധിച്ച് കൂടുതൽ ഉപയോഗപ്രദമായ കാര്യങ്ങൾ. താഴെയുള്ള കമാൻഡുകൾ ഉപയോഗിക്കുന്നതിന് മുമ്പ്, കമാൻഡ് വഴി നിങ്ങൾ ആക്റ്റീവ് ഡയറക്ടറി മൊഡ്യൂൾ ലോഡ് ചെയ്യേണ്ടതുണ്ട്

Get-Help Get-ADUser

പവർഷെല്ലിന്റെ ആദ്യ പതിപ്പ് മുതൽ, മൈക്രോസോഫ്റ്റ് അതിനെ പ്രധാന വിൻഡോസ് അഡ്മിനിസ്ട്രേഷൻ ടൂളാക്കി മാറ്റാൻ ശ്രമിക്കുന്നു എന്നത് രഹസ്യമല്ല. പല തരത്തിൽ ഇത് പ്രവർത്തിക്കുന്നു! ഇന്ന് ലളിതമായ ഉദാഹരണങ്ങൾ, നിങ്ങൾക്ക് ലഭിക്കാൻ ഉപയോഗിക്കാവുന്ന PowerShell സവിശേഷതകൾ ഞങ്ങൾ കാണിക്കും വിവിധ വിവരങ്ങൾസജീവ ഡയറക്ടറി ഉപയോക്താക്കളെയും അവരുടെ ആട്രിബ്യൂട്ടുകളെയും കുറിച്ച്.

കുറിപ്പ്. മുമ്പ്, AD ഉപയോക്തൃ അക്കൗണ്ടുകളുടെ ആട്രിബ്യൂട്ടുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ലഭിക്കുന്നതിന്, നിങ്ങൾ വിവിധ ടൂളുകൾ ഉപയോഗിക്കേണ്ടതുണ്ട്: ADUC കൺസോൾ (ഉൾപ്പെടെ), ഒരു യൂട്ടിലിറ്റി മുതലായവ. ടൂളിന്റെ തിരഞ്ഞെടുപ്പ് സാധാരണയായി ചുമതലയും അഡ്മിനിസ്ട്രേറ്ററുടെ പ്രോഗ്രാമിംഗ് കഴിവുകളും അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

പവർഷെൽ 2.0 ആക്റ്റീവ് ഡയറക്ടറിയുമായി പ്രവർത്തിക്കുന്നതിന് ഒരു പ്രത്യേക മൊഡ്യൂൾ അവതരിപ്പിച്ചു - (വിൻഡോസ് സെർവർ 2008 R2 ൽ അവതരിപ്പിച്ചു), അതിന്റെ cmdlets നിങ്ങളെ AD ഡയറക്ടറി ഒബ്‌ജക്റ്റുകൾ ഉപയോഗിച്ച് വിവിധ കൃത്രിമങ്ങൾ നടത്താൻ അനുവദിക്കുന്നു. സജീവ ഡയറക്‌ടറി ഡൊമെയ്‌ൻ ഉപയോക്താക്കളെയും അവരുടെ പ്രോപ്പർട്ടികളെയും കുറിച്ചുള്ള വിവരങ്ങൾ ലഭിക്കുന്നതിന് cmdlet ഉപയോഗിക്കുന്നു Get-ADUser. എഡിയിൽ നിലവിലുള്ള ഒരു ഉപയോക്തൃ അക്കൗണ്ടിന്റെ ഏതെങ്കിലും ആട്രിബ്യൂട്ടിന്റെ മൂല്യം ലഭിക്കാൻ നിങ്ങൾക്ക് Get-ADUser cmdlet ഉപയോഗിക്കാം. കൂടാതെ, നിങ്ങൾക്ക് വ്യക്തമാക്കാൻ കഴിയും വിവിധ മാനദണ്ഡങ്ങൾസാമ്പിളുകൾ, ഡൊമെയ്ൻ ഉപയോക്താക്കളുടെയും അവരുടെ ആട്രിബ്യൂട്ടുകളുടെയും ലിസ്റ്റുകൾ സൃഷ്ടിക്കുക.

ഈ ഉദാഹരണത്തിൽ, എപ്പോൾ എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ലഭിക്കുന്നതിന് PowerShell Get-ADUser cmdlet എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും. അവസാന സമയംഉപയോക്താവിന്റെ പാസ്‌വേഡ് മാറി, അത് കാലഹരണപ്പെടുമ്പോൾ.

അഡ്‌മിനിസ്‌ട്രേറ്റർ അവകാശങ്ങളോടെ Powershll വിൻഡോ സമാരംഭിച്ച് കമാൻഡ് ഉപയോഗിച്ച് ആക്‌റ്റീവ് ഡയറക്‌ടറി മൊഡ്യൂൾ ഇറക്കുമതി ചെയ്യുക:

ഇറക്കുമതി-മൊഡ്യൂൾ സജീവ ഡയറക്ടറി

ഉപദേശം. Windows Server 2012-ലും അതിനുശേഷമുള്ളതിലും, പവർഷെൽ ആക്റ്റീവ് ഡയറക്ടറി മൊഡ്യൂൾ സ്ഥിരസ്ഥിതിയായി പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നതിനാൽ നിങ്ങൾക്ക് ഈ ഇനം ഒഴിവാക്കാനാകും.

ക്ലയന്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ (ഉദാഹരണത്തിന് വിൻഡോസ് 10), Get-AdUser കമാൻഡർ പ്രവർത്തിക്കുന്നതിന്, നിങ്ങൾ RSAT-ന്റെ ഉചിതമായ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുകയും നിയന്ത്രണ പാനലിലെ ഘടകം പ്രവർത്തനക്ഷമമാക്കുകയും വേണം. സജീവ ഡയറക്ടറി മൊഡ്യൂൾ വിൻഡോസിനായിപവർഷെൽ(റിമോട്ട് സെർവർ അഡ്മിനിസ്ട്രേഷൻ ടൂളുകൾ -> റോൾ അഡ്മിനിസ്ട്രേഷൻ ടൂളുകൾ -> AD DS, AD LDS ടൂളുകൾ -> AD DS ടൂളുകൾ).

എല്ലാ Get-ADUser cmdlet ആർഗ്യുമെന്റുകളുടെയും പൂർണ്ണമായ ലിസ്റ്റ് ഇനിപ്പറയുന്ന രീതിയിൽ ലഭിക്കും:

Get-ADUser-നെ സഹായിക്കുക

എല്ലാ ഡൊമെയ്ൻ അക്കൗണ്ടുകളുടെയും ഒരു ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്നതിന്, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

Get-ADUser -ഫിൽറ്റർ *

തിരികെ നൽകിയ ലിസ്റ്റിന്റെ ഫോർമാറ്റ് ഉപയോഗിക്കാൻ വളരെ സൗകര്യപ്രദമല്ല, ഉപയോക്തൃ അക്കൗണ്ടുകളുടെ 120-ലധികം ആട്രിബ്യൂട്ടുകളിൽ ചില അടിസ്ഥാന 10 മാത്രമേ പ്രദർശിപ്പിക്കൂ (DN, SamAccountName, Name, UPN, മുതലായവ) കൂടാതെ, ഞങ്ങൾ കാണുന്നു അവസാനം പാസ്സ്‌വേർഡ് മാറ്റിയ സമയത്തെക്കുറിച്ച് ഒരു വിവരവുമില്ല.

യൂസർ ട്യൂസറിന്റെ ലഭ്യമായ എല്ലാ ആട്രിബ്യൂട്ടുകളെയും കുറിച്ചുള്ള പൂർണ്ണ വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന്, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

Get-ADUser -identity tuser -properties *

അതിനാൽ, AD ഉപയോക്തൃ ആട്രിബ്യൂട്ടുകളുടെയും ഉപയോക്തൃ അക്കൗണ്ടുമായി ബന്ധപ്പെട്ട അവയുടെ മൂല്യങ്ങളുടെയും പൂർണ്ണമായ ലിസ്റ്റ് ഞങ്ങൾ കാണുന്നു. അടുത്തതായി, Get-ADUser cmdlet-ന്റെ ഔട്ട്പുട്ട് ഫോർമാറ്റ് ചെയ്യുന്നതിലേക്ക് ഞങ്ങൾ നീങ്ങും, അങ്ങനെ നമുക്ക് ആവശ്യമുള്ള ഫീൽഡുകൾ പ്രദർശിപ്പിക്കും. ആട്രിബ്യൂട്ടുകളിൽ ഞങ്ങൾക്ക് താൽപ്പര്യമുണ്ട്:

  • പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു
  • പാസ്‌വേഡ് ലാസ്റ്റ് സെറ്റ്
  • പാസ്‌വേഡ് ഒരിക്കലും കാലഹരണപ്പെടില്ല

നമുക്ക് കമാൻഡ് പ്രവർത്തിപ്പിക്കാം:

Get-ADUser tuser - പ്രോപ്പർട്ടീസ് പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ്‌സെറ്റ്, പാസ്‌വേഡ് ഒരിക്കലും കാലഹരണപ്പെടില്ല

ഇപ്പോൾ ഉപയോക്തൃ ഡാറ്റയിൽ പാസ്‌വേഡ് മാറ്റുന്ന തീയതിയെയും അത് കാലഹരണപ്പെടുന്ന സമയത്തെയും കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. കൂടുതൽ സൗകര്യപ്രദമായ ഒരു പട്ടിക രൂപത്തിൽ വിവരങ്ങൾ അവതരിപ്പിക്കാം:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | അടി പേര്, പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ്‌സെറ്റ്, പാസ്‌വേഡ് ഒരിക്കലും കാലഹരണപ്പെടില്ല

ഒരു നിർദ്ദിഷ്ട OU-യിൽ നിന്നുള്ള ഉപയോക്തൃ ഡാറ്റ പ്രദർശിപ്പിക്കുന്നതിന്, പാരാമീറ്റർ ഉപയോഗിക്കുക തിരയൽ ബേസ്:

Get-ADUser -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | അടി പേര്, പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ്‌സെറ്റ്, പാസ്‌വേഡ് ഒരിക്കലും കാലഹരണപ്പെടില്ല

കമാൻഡിന്റെ ഫലം ഒരു ടെക്സ്റ്റ് ഫയലിലേക്ക് കയറ്റുമതി ചെയ്യാൻ കഴിയും:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | അടി പേര്, പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ്‌സെറ്റ്, പാസ്‌വേഡ്NeverExpires > C:\temp\users.txt

അല്ലെങ്കിൽ CSV-യിൽ, അത് ഭാവിയിൽ Excel-ലേക്ക് സൗകര്യപ്രദമായി കയറ്റുമതി ചെയ്യപ്പെടും (കൂടാതെ ഉപയോഗിക്കുന്നു അടുക്കുക-വസ്തുപാസ്‌വേഡ് ലാസ്റ്റ്‌സെറ്റ് കോളം ഉപയോഗിച്ച് പട്ടിക അടുക്കാം, കൂടാതെ ഒരു വ്യവസ്ഥയും ചേർക്കുക എവിടെ- ഉപയോക്തൃനാമത്തിൽ "ദിമിത്രി" എന്ന സ്ട്രിംഗ് ഉണ്ടായിരിക്കണം):

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | എവിടെ ($_.പേര് -"*ദിമിത്രി*" പോലെ) | അടുക്കുക-ഒബ്ജക്റ്റ് പാസ്‌വേഡ് ലാസ്റ്റ്സെറ്റ് | സെലക്ട്-ഒബ്ജക്റ്റ് പേര്, പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു, പാസ്‌വേഡ് ലാസ്റ്റ് സെറ്റ്, പാസ്‌വേഡ് ഒരിക്കലും കാലഹരണപ്പെടില്ല | Export-csv -path c:\temp\user-password-expires-2015.csv

അതിനാൽ, ആവശ്യമായ ആക്റ്റീവ് ഡയറക്ടറി ഉപയോക്തൃ ആട്രിബ്യൂട്ടുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു പട്ടിക നിർമ്മിക്കാൻ കഴിയും.

ഒരു പ്രത്യേക സ്വഭാവത്തെ അടിസ്ഥാനമാക്കി AD ഉപയോക്തൃ അക്കൗണ്ടുകളുടെ ഒരു ലിസ്റ്റ് ലഭിക്കുന്നതിന്, -Filter പാരാമീറ്റർ ഉപയോഗിക്കുക. ഈ പരാമീറ്ററിന്റെ ആർഗ്യുമെന്റുകൾ എന്ന നിലയിൽ, നിങ്ങൾക്ക് ചില ആക്റ്റീവ് ഡയറക്‌ടറി ഉപയോക്തൃ ആട്രിബ്യൂട്ടുകളുടെ മൂല്യം വ്യക്തമാക്കാൻ കഴിയും, ഇത് ഫിൽട്ടർ മാനദണ്ഡങ്ങളുമായി പൊരുത്തപ്പെടുന്ന ഉപയോക്താക്കൾക്ക് Get-ADUser cmdlet ബാധകമാക്കും.

റോമൻ എന്നതിൽ തുടങ്ങുന്ന എഡി ഉപയോക്താക്കളുടെ ഔട്ട്പുട്ട്:

Get-ADUser -filter (പേര് - പോലെ "റോമൻ*")

Get-ADUser -Filter (SamAccountName -like "*") | അളവ്-വസ്തു

എഡിയിലെ എല്ലാ സജീവ (തടയപ്പെട്ടിട്ടില്ലാത്ത) അക്കൗണ്ടുകളുടെയും ലിസ്റ്റ്:

Get-ADUser -Filter (Enabled -eq "True") | Select-Object SamAccountName,Name,Surname,Givenname | ഫോർമാറ്റ്-ടേബിൾ

കാലഹരണപ്പെട്ട പാസ്‌വേഡ് ഉള്ള അക്കൗണ്ടുകളുടെ ലിസ്റ്റ്:

Get-ADUser -filter (Enabled -eq $True) -പ്രോപ്പർട്ടീസ് പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു | എവിടെ ($_.പാസ്‌വേഡ് കാലഹരണപ്പെട്ടു)

ഇമെയിൽ വിലാസങ്ങളുള്ള സജീവ അക്കൗണ്ടുകളുടെ ലിസ്റ്റ്:

Get-ADUser -Filter ((mail -ne "null") -and (Enabled -eq "true")) -Properties Surname,GivenName,mail | സെലക്ട്-ഒബ്ജക്റ്റ് പേര്, കുടുംബപ്പേര്, നൽകിയ പേര്, മെയിൽ | ഫോർമാറ്റ്-ടേബിൾ

ടാസ്‌ക്: സംഭരിച്ചിരിക്കുന്ന അക്കൗണ്ടുകളുടെ ഒരു ലിസ്റ്റിനായി ടെക്സ്റ്റ് ഫയൽ(ഒരു വരിയിൽ ഒരു അക്കൗണ്ട്) നിങ്ങൾ AD-യിൽ ഉപയോക്താവിന്റെ ഫോൺ നമ്പർ നേടുകയും വിവരങ്ങൾ ഒരു ടെക്സ്റ്റ് csv ഫയലിലേക്ക് അപ്‌ലോഡ് ചെയ്യുകയും വേണം (Esxel-ലേക്ക് എളുപ്പത്തിൽ ഇറക്കുമതി ചെയ്യാൻ കഴിയും).

Import-Csv c:\ps\usernsme_list.csv | ForEach ( Get-ADUser -identity $_.user -Properties Name, telephoneNumber | പേര് തിരഞ്ഞെടുക്കുക, telephoneNumber | Export-CSV c:\ps\export_ad_list.csv -Append -Encoding UTF8 )

ഇനിപ്പറയുന്ന ഉദാഹരണം ഫോമിൽ ഒരു എന്റർപ്രൈസ് വിലാസ പുസ്തകം ഡൗൺലോഡ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു csv ഫയൽ, അത് പിന്നീട് ഔട്ട്‌ലുക്കിലേക്കോ മോസില്ല തണ്ടർബേർഡിലേക്കോ ഇറക്കുമതി ചെയ്യാൻ കഴിയും:

Get-ADUser -Filter ((mail -ne "null") -and (Enabled -eq "true")) -Properties Surname,GivenName,mail | സെലക്ട്-ഒബ്ജക്റ്റ് പേര്, കുടുംബപ്പേര്, നൽകിയ പേര്, മെയിൽ | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:temp\mail_list.csv

കഴിഞ്ഞ 90 ദിവസമായി പാസ്‌വേഡ് മാറ്റാത്ത ഉപയോക്താക്കൾ:

$90_Days = (Get-Date).adddays(-90) Get-ADUser -filter ((passwordlastset -le $90_days))

$user = Get-ADUser winadmin -Properties thumbnailPhoto $user.thumbnailPhoto | സെറ്റ്-ഉള്ളടക്കം winadmin.jpg -എൻകോഡിംഗ് ബൈറ്റ്

അവൻ ഉൾപ്പെടുന്ന ഗ്രൂപ്പുകളുടെ പട്ടിക അക്കൗണ്ട്ഉപയോക്താവ്

Get-AdUser winadmin -Properties memberof | അംഗത്തെ തിരഞ്ഞെടുക്കുക -പ്രോപ്പർട്ടി അംഗത്തിന്റെ വിപുലീകരണം