কম্পিউটারগুলি 30 দিনের মধ্যে ডিফল্টরূপে তাদের অ্যাকাউন্ট পাসওয়ার্ড পরিবর্তন করে। যদি কোনও কম্পিউটার একটি বর্ধিত সময়ের মধ্যে তার পাসওয়ার্ড পরিবর্তন না করে, তবে এর অর্থ হ'ল তারা আর নেটওয়ার্কের সাথে সংযুক্ত থাকবে না।
এই পাওয়ারশেল স্ক্রিপ্টটি 2 টি পাঠ্য ফাইল আউটপুট দেবে। একটি অক্ষম কম্পিউটারগুলির জন্য, একটি অনাথ কম্পিউটার অ্যাকাউন্টের জন্য। আপনার অবশ্যই সক্রিয় ডিরেক্টরি পাওয়ারশেল মডিউল ইনস্টল থাকা উচিত।
এই উদাহরণে, আমি একটি "এনক্রিপ্টড ল্যাপটপগুলি" ওইউ বাদ রাখি কারণ তারা মোবাইল ল্যাপটপ যা সময়ের সাথে বর্ধিত সময়ের জন্য সংযোগ বিচ্ছিন্ন থাকে। আপনার যদি একই রকম সেটআপ না থাকে তবে আপনি সেই বিভাগটি সরাতে পারেন
Import-Module ActiveDirectory
$Date = [DateTime]::Today
#Sets the deadline for when computers should have last changed their password by.
$Deadline = $Date.AddDays(-365)
#Makes the date string for file naming
$FileName = [string]$Date.month + [string]$Date.day + [string]$Date.year
#Generates a list of computer accounts that are enabled and aren't in the Encrypted Computers OU, but haven't set their password since $Deadline
$OldList = Get-ADComputer -Filter {(PasswordLastSet -le $Deadline) -and (Enabled -eq $TRUE)} -Properties PasswordLastSet -ResultSetSize $NULL |
Where {$_.DistinguishedName -notlike "*Encrypted Laptops*"} |
Sort-Object -property Name | FT Name,PasswordLastSet,Enabled -auto
#Generates a list of computer accounts that are disabled and sorts by name.
$DisabledList = Get-ADComputer -Filter {(Enabled -eq $FALSE)} -Properties PasswordLastSet -ResultSetSize $null |
Sort-Object -property Name | FT Name,PasswordLastSet,Enabled -auto
#Creates the two files, assuming they are not $NULL. If they are $NULL, the file will not be created.
if ($OldList -ne $NULL) {
Out-File "C:\users\marra\desktop\Old$Filename.txt" -InputObject $OldList
}
if ($DisabledList -ne $NULL) {
Out-File "C:\users\marra\desktop\Disabled$Filename.txt" -InputObject $DisabledList
}