2

90 日間ログインしていないユーザーを識別する Powershell スクリプトを作成しようとしていますが、次のエラー メッセージが表示され続けます。

「op_Subtraction」と引数カウント「2」のオーバーロードが見つかりません。最初は変数の型の不一致かと思いましたが、減算の変数を見ると問題ないようです。

PS C:\> $today.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     DateTime                                 System.ValueType

PS C:\> $users[198].LastLogonDate.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     DateTime                                 System.ValueType

$today = Get-Date
$days = 90
$users = Get-ADUser -Properties * -Filter *
foreach ($i in $users) 
{
    $difference = $today - $i.LastLogonDate
    #Write-Host $i.Name + $difference.Days
    if ($difference.Days -ge $days){Write-Host $i.name " hasn't logged on in 90 days"}
    elseif ($i.LastLogonDate -eq $null) {Write-Host $i.name " has null value"}
    else {Write-Host " No Value"}
}

想い??

ありがとう!!

4

2 に答える 2

0

これはどう:

Search-ADAccount -AccountInactive -TimeSpan "90" -UsersOnly
于 2013-07-30T06:49:14.247 に答える