2017-05-29 14 views
0

NT AUTHORITY \ Authenticated Usersで認証を許可する約1000台のコンピュータがあります。 いくつかのGoogle検索に基づいてスクリプトを作成しようとしましたが、機能しません。PowerShellを使用してAD内の複数のコンピュータに設定する

私のスクリプトを見てください。おそらく、私は何かを見逃しているでしょう。

Import-Module ActiveDirectory 
Set-Location AD:\ 
$ALLDTPC = Get-Content H:\dtcomputer.txt 
foreach ($PC In $ALLDTPC) { 
    $ace = (Get-Acl "AD:$((Get-ADComputer $PC).DistinguishedName)").Access 
    foreach ($acl in $ace.Access) { 
     $accessrule = New-Object System.Security.AccessControl.ActiceDirectoryAccessRule("NT AUTHORITY\Authenticated Users", "Allow") 
     $ace.AddAccessRule($accessrule) 
     Set-Acl -AclObject $ace $PC.DistinguishedName -Verbose -Passthru 
    } 
} 
+1

あなたが得る-ACLからACEを取得しているが、あなたはforeachの中で再びACEを取得しようとしています –

答えて

0

foreachループは多分、何を期待しなければ、私は、わからないんだけど、私は今何のAD avaibableを持っていませんが、私が見たものから、あなたがライン6で問題(.access)を有していました最初に1つのアイテムで試してみて、結果を確認してください。

このコード試してみてください。

Import-Module ActiveDirectory 
Set-Location AD:\ 
$ALLDTPC = Get-Content H:\dtcomputer.txt 
foreach ($PC In $ALLDTPC) { 
    $ace = (Get-Acl "AD:$((Get-ADComputer $PC).DistinguishedName)").Access 
    foreach ($acl in $ace) { 
     $accessrule = New-Object System.Security.AccessControl.ActiceDirectoryAccessRule("NT AUTHORITY\Authenticated Users", "Allow") 
     $ace.AddAccessRule($accessrule) 
     Set-Acl -AclObject $ace $PC.DistinguishedName -Verbose -Passthru 
    } 
} 
関連する問題