如何测试特定Active Directory树位置中是否允许使用powershell命令

时间:2018-05-16 12:08:44

标签: powershell testing permissions active-directory

我有一个低权限用户,使用Powershell管理公司Active Directory树的区域。我想测试我的脚本可以执行一个动作而不是调用它和barfing。例如,我想要测试的东西:

#Eigenvalues = pca.explained_variance_)

1 个答案:

答案 0 :(得分:1)

你想打电话给它吧。但是,就像在现实生活中一样,你想要在适当的容器中捕获barf。

try / catch进来的地方。但PowerShell在出现错误方面有点奇怪。默认情况下,发生错误时它不会停止。它只是显示它并继续前进。除非您更改,try没有看到错误。因此,当失败时,您还需要告诉PowerShell硬盘。

可以使用-ErrorAction参数完成,该参数可以在任何cmdlet上使用。

try {
   New-ADGroup -GroupScope Global -Path $OU -Name $GROUP_NAME -ErrorAction Stop
} catch {
   Write-Host "Ask the administrator to permit"
   Write-Host "$env:USERNAME New-ADGroup privs at $OU"
}

此代码假定访问不足是导致失败的唯一原因。如果需要,您可以检查错误并测试是否属于这种情况。

有关在PowerShell中捕获错误的更多阅读:https://blogs.technet.microsoft.com/heyscriptingguy/2015/09/16/understanding-non-terminating-errors-in-powershell/

这也很有用:https://blogs.technet.microsoft.com/heyscriptingguy/2014/07/09/handling-errors-the-powershell-way/