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

GPO और PowerShell का उपयोग करके पुराने उपयोगकर्ता प्रोफ़ाइल को कैसे हटाएं?

विंडोज वर्कस्टेशन और सर्वर पर, विशेष रूप से आरडीएस (रिमोट डेस्कटॉप सर्विसेज) सर्वर पर, पुराने (अप्रयुक्त) उपयोगकर्ता प्रोफाइल को C:\Users से हटाने की नियमित आवश्यकता होती है। किसी भी दूरस्थ डेस्कटॉप सर्वर की मुख्य समस्या स्थानीय ड्राइव पर उपयोगकर्ता प्रोफ़ाइल निर्देशिकाओं के आकार में निरंतर वृद्धि है। इसे अधिकतम उपयोगकर्ता प्रोफ़ाइल आकार (FSRM या NTFS कोटा के साथ) पर कोटा सक्षम करके आंशिक रूप से हल किया जाता है। हालाँकि, यदि बहुत सारे टर्मिनल सर्वर उपयोगकर्ता हैं, तो समय के साथ C:\Users निर्देशिका उपयोगकर्ता प्रोफ़ाइल के साथ बड़ी संख्या में निर्देशिकाएँ जमा करेगी जिनकी अब आवश्यकता नहीं है।

Windows में उपयोगकर्ता प्रोफ़ाइल को मैन्युअल रूप से कैसे हटाएं?

कई नौसिखिए विंडोज व्यवस्थापक C:\Users से उपयोगकर्ता प्रोफ़ाइल फ़ोल्डर को मैन्युअल रूप से हटाने का प्रयास करते हैं। आप ऐसा कर सकते हैं यदि फ़ोल्डर को मैन्युअल रूप से हटाने के बाद, आप रजिस्ट्री कुंजी से इस फ़ोल्डर के लिंक के साथ उपयोगकर्ता प्रोफ़ाइल अनुभाग को हटा देंगे HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\ProfileList

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

GPO और PowerShell का उपयोग करके पुराने उपयोगकर्ता प्रोफ़ाइल को कैसे हटाएं?

लेकिन यह एक मैनुअल तरीका है, और आप इसे स्वचालित करना चाह सकते हैं।

GPO:निर्दिष्ट संख्या दिनों से अधिक पुरानी उपयोगकर्ता प्रोफ़ाइल हटाएं

विंडोज़ में, एक्सएक्स दिनों से पुराने उपयोगकर्ता प्रोफाइल को स्वचालित रूप से हटाने के लिए एक अंतर्निहित समूह नीति है। आप नीति पा सकते हैं सिस्टम पुनरारंभ होने पर निर्दिष्ट संख्या दिनों से अधिक पुरानी उपयोगकर्ता प्रोफ़ाइल हटाएं GPO अनुभाग में कंप्यूटर कॉन्फ़िगरेशन -> व्यवस्थापकीय टेम्पलेट -> सिस्टम -> उपयोगकर्ता प्रोफ़ाइल . आप इस नीति को स्थानीय समूह नीति संपादक (gpedit.msc) में या GPMC.msc में डोमेन नीतियों का उपयोग करके सक्षम कर सकते हैं।

नीति को सक्षम करें और निर्दिष्ट करें कि उपयोगकर्ता प्रोफ़ाइल को कितने दिनों तक सक्रिय माना जाता है। जब यह अवधि समाप्त हो जाती है, तो Windows उपयोगकर्ता प्रोफ़ाइल सेवा अगले पुनरारंभ पर प्रोफ़ाइल को स्वचालित रूप से हटा देगी। 45-90 . की अवधि निर्दिष्ट करने की अनुशंसा की जाती है यहाँ दिन।

GPO और PowerShell का उपयोग करके पुराने उपयोगकर्ता प्रोफ़ाइल को कैसे हटाएं?

इस नीति का उपयोग करते समय, सुनिश्चित करें कि जब कोई सर्वर बंद या पुनरारंभ होता है तो सिस्टम समय के साथ कोई समस्या नहीं होती है ("रिबूट के बाद सिस्टम समय और दिनांक परिवर्तन" लेख देखें)। अन्यथा सक्रिय उपयोगकर्ता प्रोफाइल को हटाया जा सकता है।

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

Windows में पुराने उपयोगकर्ता प्रोफ़ाइल को हटाने के लिए PowerShell स्क्रिप्ट

ऊपर वर्णित स्वचालित सफाई प्रोफ़ाइल नीति का उपयोग करने के बजाय, आप अक्षम या निष्क्रिय उपयोगकर्ताओं की प्रोफ़ाइल खोजने और निकालने के लिए एक साधारण पावरशेल स्क्रिप्ट का उपयोग कर सकते हैं।

सबसे पहले, आइए C:\Users में सभी उपयोगकर्ता प्रोफ़ाइल फ़ोल्डरों के आकार की गणना करने का प्रयास करें, लेख से एक साधारण स्क्रिप्ट का उपयोग करके PowerShell में निर्देशिका आकार प्राप्त करना:

gci -force 'C:\Users'-ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, '{0:N2} GB' -f ($len / 1Gb)
$sum = $sum + $len
}
“Total size of profiles”,'{0:N2} GB' -f ($sum / 1Gb)

C:\Users में सभी उपयोगकर्ता प्रोफाइल का कुल आकार 31.5 GB है।

GPO और PowerShell का उपयोग करके पुराने उपयोगकर्ता प्रोफ़ाइल को कैसे हटाएं?

आइए उन उपयोगकर्ताओं की सूची प्रदर्शित करते हैं, जिनके प्रोफाइल का उपयोग 60 दिनों से अधिक समय से नहीं किया गया है। उन्हें ढूंढने के लिए, आप प्रोफ़ाइल के LastUseTime फ़ील्ड में मान का उपयोग कर सकते हैं।

Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}| Measure-Object

यह पता चला कि मेरे आरडीएस होस्ट पर मेरे 127 निष्क्रिय उपयोगकर्ता खाते थे (प्रोफाइल का कुल आकार लगभग 18 जीबी है)।

GPO और PowerShell का उपयोग करके पुराने उपयोगकर्ता प्रोफ़ाइल को कैसे हटाएं?

इन सभी प्रोफ़ाइलों को हटाने के लिए, उपयोगकर्ता सूची को निकालें-WmiObject पर पुनर्निर्देशित करना पर्याप्त है कमांड (स्क्रिप्ट चलाने से पहले, -WhatIf पैरामीटर का उपयोग करके इसके आउटपुट की दोबारा जांच करने की अनुशंसा की जाती है):

Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-30))} | Remove-WmiObject –WhatIf

सिस्टम . जैसे कुछ उपयोगकर्ताओं के प्रोफाइल को न हटाने के लिए और नेटवर्क सेवा खाते, एक स्थानीय व्यवस्थापक खाता, सक्रिय सत्र वाले उपयोगकर्ताओं के खाते, खाता अपवाद सूची), आप स्क्रिप्ट को निम्नानुसार संशोधित कर सकते हैं:

#The list of accounts, which profiles must not be deleted
$ExcludedUsers ="Public","zabbix_agent","svc",”user_1”,”user_2”
$LocalProfiles=Get-WMIObject -class Win32_UserProfile | Where {(!$_.Special) -and (!$_.Loaded) -and ($_.ConvertToDateTime($_.LastUseTime) -lt (Get-Date).AddDays(-60))}
foreach ($LocalProfile in $LocalProfiles)
{
if (!($ExcludedUsers -like $LocalProfile.LocalPath.Replace("C:\Users\","")))
{
$LocalProfile | Remove-WmiObject
Write-host $LocalProfile.LocalPath, "profile deleted” -ForegroundColor Magenta
}
}

आप इस पॉवरशेल स्क्रिप्ट को शटडाउन पर GPO का उपयोग करके या टास्क शेड्यूलर में PoSh स्क्रिप्ट के साथ चला सकते हैं।

प्रोफ़ाइल के स्वत:विलोपन को कॉन्फ़िगर करने से पहले, आपके परिवेश में स्क्रिप्ट का परीक्षण करने की अनुशंसा की जाती है!

आप विशिष्ट AD समूह (उदाहरण के लिए, DisabledUsers समूह) में जोड़े गए सभी उपयोगकर्ता प्रोफाइल को स्वचालित रूप से हटाने के लिए स्क्रिप्ट को संशोधित कर सकते हैं:

$users = Get-ADGroupMember -Identity DisabledUsers | Foreach {$_.Sid.Value}
$profiles = Get-WmiObject Win32_UserProfile
$profiles | Where {$users -eq $_.Sid} | Foreach {$_.Delete()}


  1. Windows.old फोल्डर क्या है और इसे कैसे डिलीट करें।

    Windows.old फ़ोल्डर विंडोज के पिछले संस्करण से दूसरे संस्करण में अपग्रेड के दौरान बनाया जाता है (उदाहरण के लिए जब आप अपने सिस्टम को विंडोज 7 से विंडोज 8.1 या विंडोज 7/8.1 से 10 में अपग्रेड करते हैं) या जब आप विंडोज 10 को नए बिल्ड के साथ अपडेट करते हैं (उदाहरण के लिए क्रिएटर्स अपडेट V1703 या फॉल क्र

  1. PowerShell का उपयोग करके फ़ाइलों और फ़ोल्डरों को कैसे हटाएं

    आपकी सभी फ़ाइलों और फ़ोल्डरों को मैन्युअल रूप से हटाना एक परेशानी हो सकती है। लेकिन, अगर आप पावरशेल के आसपास अपना रास्ता जानते हैं, तो यह होना जरूरी नहीं है। इस लेख में, हम PowerShell का उपयोग करके आपकी Windows फ़ाइलों और फ़ोल्डरों को हटाने के विभिन्न तरीके प्रस्तुत करते हैं। PowerShell के साथ अपनी

  1. Windows 10 PC पर पुरानी फाइलों को कैसे पहचानें और हटाएं?

    आपके पीसी पर सैकड़ों और हजारों फाइलें हैं जिनके बारे में आप शायद नहीं जानते होंगे। हो सकता है कि इनमें से कुछ फाइलें वर्षों में निरर्थक हो गई हों और समय के साथ भुला दी गई हों। हालांकि इन फ़ाइलों से आपके कंप्यूटर को कोई खतरा नहीं है, फिर भी वे संग्रहण स्थान घेरती हैं जिसे अधिक उपयोगी फ़ाइलों को संग्र