J'ai reçu ce script Powershell qui interroge les utilisateurs qui n'ont pas changé leur mot de passe depuis 24 heures. La requête redirige la sortie vers le fichier csv. Voici le script Powershell et un script batch:Comment placer un en-tête dans un fichier csv généré par le script Powershell
scénario Powershell:
$root = [ADSI]''
$searcher = new-object System.DirectoryServices.DirectorySearcher($root)
$searcher.filter = "(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
$searcher.sizelimit = 5000
[Void]$searcher.PropertiesToLoad.Add("cn")
[Void]$searcher.PropertiesToLoad.Add("samAccountName")
[Void]$searcher.PropertiesToLoad.Add("pwdLastSet")
$users = $searcher.findall()
$UserOU = "OU=Mountain,DC=Atlanta,DC=ga"
$PWDays = (Get-Date).AddDays(-1)
$UserCount = 0
$UserPW = 0
foreach($user in $users)
{
if ($user.path -like "*$UserOU")
{
$usercount = $UserCount
if ([datetime]::FromFileTime(($user.properties.pwdlastset)[0]) -le $PWDays)
{
$UserPW = $UserPW + 1
Write-Host $user.Properties.cn
}
}
}
script batch:
powershell.exe d:\temp\query.ps1 > D:\temp\query.csv
Ma question est: Comment puis-je mettre modifier le script pour mettre en-tête pour nom d'utilisateur le fichier de sortie csv?
L'en-tête peut simplement être 'Nom d'utilisateur', pas nécessairement Prénom et Nom.
Vos utilisateurs doivent changer leur mot de passe toutes les 24 heures? Vous êtes un sysadmin méchant> :) –