none
値が空欄のユーザをゲットしたい RRS feed

  • 質問

  • ログオンがXX日以上(この場合90日以上)無く、AD内属性のある値(この場合pager)に値が入っていない(空欄)のユーザをゲットしたく、

    以下のスクリプトを組んだのですが、「$Null の変数: 'Null' が定義されていません。」というエラーが返ってきます。

    import-module activedirectory
    $domain = "Myad"
    $DaysInactive = 90
    $time = (Get-Date).Adddays(-($DaysInactive))

    Get-ADUser -Filter {LastLogonTimeStamp -lt $time -and pager -eq $Null} -Properties LastLogonTimeStamp |
     
    select-object Name,distinguishedname,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('yyyy-MM-dd_hh:mm:ss')}} | export-csv c:\Script\OLD_User.csv -notypeinformation -Encoding UTF8

    $Nullの使い方が間違っていると思うのですが、定義しても動かず。。。どうすれば目的を果たせるでしょうか。

    よろしくお願い致します。

    2016年8月4日 11:29

回答

  • こんばんは、Nasuです。

    Get-ADUser -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp | where {$_.Pager -eq $Null} | ` 
    select-object Name,distinguishedname,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('yyyy-MM-dd_hh:mm:ss')}}

    又は

    Get-ADUser -Filter {LastLogonTimeStamp -lt $time -and Pager -notlike '*'} -Properties LastLogonTimeStamp | ` 
    select-object Name,distinguishedname,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('yyyy-MM-dd_hh:mm:ss')}}
    でどうでしょうか?


    ★良い回答、解決した場合には「回答済み」マークを付けてましょう!

    Satoru Nasu

    Microsoft MVP Cloud and Datacenter Management

    Blog:元「なんでもエンジニ屋」のダメ日記

    Facebook:元「なんでもエンジニ屋」のダメ日記

    • 回答としてマーク Hitode0404 2016年8月5日 0:37
    2016年8月4日 12:57

すべての返信

  • こんばんは、Nasuです。

    Get-ADUser -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp | where {$_.Pager -eq $Null} | ` 
    select-object Name,distinguishedname,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('yyyy-MM-dd_hh:mm:ss')}}

    又は

    Get-ADUser -Filter {LastLogonTimeStamp -lt $time -and Pager -notlike '*'} -Properties LastLogonTimeStamp | ` 
    select-object Name,distinguishedname,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString('yyyy-MM-dd_hh:mm:ss')}}
    でどうでしょうか?


    ★良い回答、解決した場合には「回答済み」マークを付けてましょう!

    Satoru Nasu

    Microsoft MVP Cloud and Datacenter Management

    Blog:元「なんでもエンジニ屋」のダメ日記

    Facebook:元「なんでもエンジニ屋」のダメ日記

    • 回答としてマーク Hitode0404 2016年8月5日 0:37
    2016年8月4日 12:57
  • Nasuさま、

    ありがとうございます!出来ました!

    本当に助かりました。もっと勉強します。

    Hitode

    2016年8月5日 0:31