powershell - Active Directory Powershell无法在脚本内部进行访问,但能够从命令行运行命令

我似乎对活动目录有一个奇怪的权限问题。 运行此脚本的用户有权更改活动目录属性,并且可以从命令行执行此操作,但是无法在脚本内部运行命令。

我试图运行的命令是这样的:

Set-ADUser -identity $user.DistinguishedName -replace @{info="1"}

此命令在Powershell命令行内部运行并执行良好。 还以运行脚本的用户身份运行命令行。 因此,用户具有更改活动目录属性的权限。 但是,当我将此命令放在脚本中时,出现权限问题。

在我的脚本中,这是发生错误的块:

       try{
            Set-ADUser -identity $user.DistinguishedName  -replace @{info="1"}
            Set-ADUser -identity $username  -replace @{employeeID="<not set>"}
            Logwrite "Employee ID: Cleared!"
            }
        catch{
            #Update Log Of Error

            $errorcountforemail = $errorcountforemail + 1
            logwrite "Employee ID:******* [FAILED] *******"
            $errortest = $_
            Write-Output $_
            Out-File -FilePath $logfile2 -Append -InputObject "`n" -Encoding ascii -Width 50
            Out-File -FilePath $logfile2 -Append -InputObject "Problem setting ad user for $username" -Encoding ascii -Width 50
            Out-File -FilePath $logfile2 -Append -InputObject $_ -Encoding ascii -Width 50
            Out-File -FilePath $logfile2 -Append -InputObject "`n" -Encoding ascii -Width 50
        }

这是出于机密性而更改名称的错误。

*---------------------* Errors for: ############## *---------------------*



Problem setting ad user for ################
Set-ADUser : Insufficient access rights to 
perform the operation
At C:\##################.ps1:199 char:13
+             Set-ADUser -identity 
$user.DistinguishedName  -replace @{ ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: 
(#########################:ADUser) 
[Set-ADUse    r], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServe
r:8344,Microsoft.ActiveDirectory.Management.Com   
 mands.SetADUser


我尝试过的事情:

-以管理员身份运行并具有最高特权。

-在以admin身份运行的批处理文件中启动脚本

-像这样Set-ADUser -identity $user.DistinguishedName -credentials $domaincredential -replace @{info="1"}凭据: Set-ADUser -identity $user.DistinguishedName -credentials $domaincredential -replace @{info="1"}用该用户的凭据,因为它确实有权进行这些更改。


有什么想法吗?

我的问题是禁用用户OU的权限问题。我授予了用户编辑禁用用户的权限,它现在可以按预期运行; 这不是我的代码的问题。

转载请注明来自askonline.tech,本文标题:powershell - Active Directory Powershell无法在脚本内部进行访问,但能够从命令行运行命令


 Top