2017-01-19 10 views
0

powershellというグループを作成して、新規に作成したアカウント&グループを監査し、作成したユーザーを作成しようとしています。オブジェクトはアカウント演算子によって作成されますが、ドメイン管理者ではありません。Powershellスクリプトで新しい広告アカウントとグループを監査する

私はこのようなものだと思う:

$Last = (Get-Date).AddDays(-1); 
Get-Acl | Get-ADUser -Filter {WhenCreated -ge $Last} | FL DistinguishedName, Path,owner 

をしかし、これはまだ動作しません。

+1

それについては動作しませんか?ネイティブEventLogイベントを使用しないのはなぜですか? [新しいユーザーアカウントがActive Directoryに作成された場合のイベントID](https://social.technet.microsoft.com/wiki/contents/articles/17055.event-ids-when-a-new-user-account-is) -created-on-active-directory.aspx) – Seth

+0

ドメインコントローラが多数あり、イベントログは1日以内に上書きされるため、これはオプションではありません。 – Jaap2016

+0

あなたのコードは左側から 'Get-ACL |'を削除すると動作します。 :) – Clayton

答えて

0

この1つのライナーは、特定の日付以降の変更についてお知らせします。オブジェクトをフィルタダウンできるプロパティがの場合、のプロパティがあります。

Get-ADObject -Filter 'whenchanged -gt $dte' | Group-Object objectclass 

、あなたが使用することができます。

get-adgroup -filter * | sort name | select Name 

Get-adgroupmember "Name" 

または

Get-ADGroup -filter "GroupCategory -eq 'Security'" –properties Member | 
Select Name,@{Name="Members"; 
Expression={($_.member | Measure-Object).count}}, 
GroupCategory,GroupScope,Distinguishedname | 
Out-GridView -Title "Select one or more groups to export" -OutputMode Multiple | 
foreach { 
    Write-Host "Exporting $($_.name)" -ForegroundColor cyan 
    #replace spaces in name with a dash 
    $name = $_.name -replace " ","-" 
    $file = Join-Path -path "C:\work" -ChildPath "$name.csv" 
    Get-ADGroupMember -identity $_.distinguishedname -Recursive | 
    Get-ADUser -Properties Title,Department | 
    Select Name,Title,Department,SamAccountName,DistinguishedName | 
    Export-CSV -Path $file -NoTypeInformation 
Get-Item -Path $file 
} 
+0

'$ dte'の定義がありません。それはOPからの '$ Last'と同じである可能性が高いですが、それを含める答えを改善することができます。 – Seth

関連する問題