The Default Execution Policy is set to restricted, you can see it by typing:
Get-ExecutionPolicyYou should type the following to make it go to unrestricted mode: Set-ExecutionPolicy unrestricted |
Wydaje mi się, że wersję systemu możemy pominąć jeśli pytanie jest o PowerShella.
@dniemczok: zainteresują się zestawem komend od Quest Software - linku TUTAJ
Zainstaluj sobie to na komputerze z którego chcesz sprawdzić hasła.
Następnie w konsoli Powershell wklej polecenie:
Add-PSSnapin Quest.ActiveRoles.ADManagement
Poleceniem:
Get-QADUser | select Name, PasswordExpires | sort PasswordExpires -desc | ft -AutoSize
Wyświetlisz wszystkich użytkowników w raz z datą wygaśnięcia ich haseł.
Dzięki sortowaniu będziesz miał jasny wgląd na kolejność wygasających haseł.
W dalszej kolejności możesz dodać porównanie do
aktualnej daty i wyświetlić tylko te pozycje, które są mniejsze (czyli w
czasie przeszłym)
Jeśli byłbyś zainteresowany, mogę podzielić się
skryptem który wykorzystuję do sprawdzania dni do terminu wygaśnięcia
haseł użytkowników.
To jest skrypt, który wyświetla userów, którym hasło wygaśnie w ciągu $Next dni. Można go przerobić, żeby wyświetlał wygasłych
#requires -version 2.0
#this script assumes all users have the same policy and does
#not take fine grained password policies into account.
#The -Next parameter indicates how many days to check. In other words
#user accounts with expiring passwords in the next X days.
Param([int]$Next=6)
Import-Module ActiveDirectory
#get current domain password policy
$policy=Get-ADDefaultDomainPasswordPolicy
#save the password age in days
$days=$Policy.MaxPasswordAge.TotalDays
$Start=(Get-Date).AddDays(-$days)
$End=(Get-Date).AddDays(-($days-$next))
#get all users with passwords that have not expired and was set between
#the start and end dates
#you can select as many other properties as you'd like
Get-ADUser -filter {
Enabled -eq $True -AND PasswordLastSet -ge $Start.Date -AND PasswordLastSet -le $End.Date -AND PasswordNeverExpires -eq $FALSE
} -properties *