日付から7日以上のADユーザーパスワードを変更し、ログを生成


Import-Module ActiveDirectory
$outputlogt = @()
$outputlogf = @()
$users = @()
#$path1 = "ou= ,dc=bjgas,dc=com"
Write-Host " 1 "
$user1 = Read-Host
$User1 = Get-ADUser -Filter * -SearchBase "$path1" 
Write-Host " 2 "
$path2 = Read-Host
$user2 = Get-ADUser -Filter * -SearchBase "$path2"
$users = $user1 #+ $user2
$nowdate = (get-date -Format "yyyy/mm/dd hh:mm").ToString()
#Write-Host "Please Enter a NewPassword"
#$newpass = "Read-Host"
write-host "Please Enter a NewPssword!"
Write-Warning "The Password will be applied to all Users in the $path1 and $path2 container"
$newpass = Read-Host
set-location c:\
$WorkingPath = '.\log\'
foreach ($user in $users)
    {
        $userlogondate = Get-ADUser -Identity $user.Name -Properties LastLogondate | Select-Object -Property LastLogondate 
        $days = (New-TimeSpan $userlogondate.lastlogondate).Days
        if ($days -gt 7)
        {
          #write-host "Please Enter a NewPssword!"
          #Write-Warning "The Password will be applied to all Users in the $path1 and $path2 container"
          #$newpass = Read-Host
          $user | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "$newpass" -Force)
          $Log = New-Object PSObject
          $Log | Add-Member NoteProperty "UserName" $user.name
          $Log | Add-Member NoteProperty "LastLogonDate" $userlogondate
          $Log | Add-Member NoteProperty "ModifyPassWord" "True"
          $OutPutLogT += $Log
          $OutPutLogT | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "$workingpath'true'.csv"
        }
        else
        {         
          $Logf = New-Object PSObject
          $Logf | Add-Member NoteProperty "UserName" $user.name
          $Logf | Add-Member NoteProperty "LastLogonDate" $userlogondate
          $Logf | Add-Member NoteProperty "ModifyPassWord" "false"
          $OutPutLogF += $Logf
          $OutPutLogF | Export-Csv -Encoding UTF8 -NoTypeInformation -Path "$workingpath'False'.csv"
        }
    
    }