2017-05-29 99 views
0

我有大約1000臺計算機,我必須設置NT AUTHORITY \ Authenticated Users允許進行身份驗證。 我試圖編寫基於幾個谷歌搜索腳本,但它不起作用。通過PowerShell在AD中的幾臺計算機上設置Acl

請看看我的腳本。也許我錯過了一些東西。

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

我沒有AD avaibable現在,但是從我所看到的,你在第6行有一個問題(.access)我不知道,如果foreach循環做你的期望,也許首先嚐試一個項目並查看結果。

試試這個代碼:

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 
    } 
} 
相關問題