2017-03-02 8 views
0
Import-CSV -Path .\csv_file.csv | ForEach-Object { 
    Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties “DisplayName”, “msDS-UserPasswordExpiryTimeComputed” | 
    Select-Object -Property “Displayname”,@{Name=“ExpiryDate”;Expression={[datetime]::FromFileTime($_.“msDS-UserPasswordExpiryTimeComputed”)}} 
} | Export-Csv .\results.csv -NoTypeInformation 

これはうってつけですが、ADにすべてのUSERSを取得します。私たちには何千人ものユーザーがいます。PowerShellを使用してCSVファイル内のユーザーの有効期限を取得する方法は?

CSVファイル(1列目)にいるユーザーを取得したいと考えています。可能であれば、同じファイルに有効期限のある2番目の列を作成したいと思います。私はCSV CSVファイルでsamaccountnameヘッダでには、Get-ADUser

+0

あなたのcsvファイルはどの形式ですか?これを示すための例を提供できますか?プライバシーを保護するために必要な場合は、名前などを設定してください。 @ JamesC。 –

+0

コードを更新し、CSVファイル形式を追加しました。それはsamaccountnameだけを含んでいるので非常に単純なCSVファイルです –

答えて

2

ファイルから値を取得する方法がわから私のPowerShellスクリプトを変更しなく

Jason.Bourne 
Thomas.Smith 
Judy.Doe 
Topsy.kret 

CSVファイル:

Import-CSV -Path C:\folder\input.csv | ForEach-Object { 
    Get-ADUser -Identity $_.samaccountname –Properties DisplayName,msDS-UserPasswordExpiryTimeComputed,Enabled,PasswordNeverExpires | Select-Object -Property Displayname,Enabled,PasswordNeverExpires,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} 
} | Export-CSV C:\folder\results.csv -NoTypeInformation 
+0

私はエラーが発生しています。 Get-ADUser:引数 '@ {Jason.Bourne = Thomas.Smith}'を受け入れる位置パラメータが見つかりません。 –

+0

私はUsernameと同じものでヘッダ行を追加しました。 Get-ADUser:引数 '@ {samaccountname = Jason.Bourne}'を受け入れる位置パラメータが見つかりません。 –

+0

これを修正する2つの方法で私の回答を更新しました –

関連する問題