ADの特定のOUのすべてのユーザーのLastLogonTimestampとSAMAccountを取得し、タイムスタンプを日付に変換して、文字列から日付だけを抽出する小さなスクリプトがあります。その部分は正常に機能します。次に、それをCSVに出力して、Excelで開き、列に完全にフォーマットして、すべてきれいに見えるようにします。
ConvertTo-CsvとExport-Csvを試しましたが、失敗しました。問題は、Powershellを初めて使用することです。これは私の最初のスクリプトであり、これがどのように機能するかを完全には理解していません。私のスクリプトは恐らくひどく乱雑で非論理的ですが、これまでのところうまくいきます。
助けてください。ありがとう。
$userlist = Get-ADUser -SearchBase "OU=IT,DC=whatever,DC=com,DC=au" -Filter * -Properties * | Select-Object -Property Name,LastLogonTimestamp,SAMAccountName | Sort-Object -Property Name
$userlist | ForEach-Object {
$last = $_.LastLogonTimestamp;
$ADName = $_.SAMAccountName;
$tstamp = w32tm /ntte $last;
if($tstamp.Length -lt "40"){}else
{
$ADDate = [DateTime]::Parse($tstamp.Split('-')[1]).ToString("dd/MM/yyyy")
write-host $ADDate;
write-host $ADName;
}
}