powershell - 删除-ADPrincipalGroupMembership '权限不足'
问题描述
我有一个 Powershell 脚本,它可以从所有 AD 组中删除一个用户,当我向它抛出一组组时它会因“权限不足”而失败,但当我删除一个组时它不会。
$adcred = Get-Credential
$adUser = Read-Host 'Enter username'
$adGroups = Get-ADPrincipalGroupMembership -Identity $adUser | where {$_.name -ne 'Domain Users'}
Remove-ADPrincipalGroupMembership -Identity $adUser -MemberOf $adGroups -Credential $adcred
WARNING: Could not remove member(s) from ADGroup: '{-- snip --}'. Error is:
'Insufficient access rights to perform the operation'.
WARNING: Could not remove member(s) from ADGroup: '{-- snip --}'. Error is: 'Insufficient access rights to perform the operation'.
Remove-ADPrincipalGroupMembership : Could not remove member(s) to one or more ADGroup.
At line:1 char:1
+ Remove-ADPrincipalGroupMembership -Identity $adUser -MemberOf $adGrou ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (Microsoft.Activ...ement.ADGroup[]:ADGroup[]) [Remove-ADPrincipalGroupMembership], ADExcep
tion
+ FullyQualifiedErrorId : 1,Microsoft.ActiveDirectory.Management.Commands.RemoveADPrincipalGroupMembership
但是,如果我使用相同的凭据手动输入一个组名,它就会起作用。
Remove-ADPrincipalGroupMembership -Identity $adUser -MemberOf 'somegroup' -Credential $adcred
我的 Powershell Windows 在非域管理员帐户下运行,但我在脚本中提供了域管理员凭据。此外,如果我运行一个新的 Powershell 窗口“作为不同的用户”并提供我的域管理员凭据,那么即使我向它抛出一个集合,Remove-ADPrincipalGroupMembership 也将起作用。
解决方案
这应该可以解决问题。您不仅提供了一个字符串,还提供了整个 AD 用户对象。
$adcred = Get-Credential
$adUser = Read-Host 'Enter username' | get-aduser
$adGroups = Get-ADPrincipalGroupMembership -Identity $adUser | where {$_.name -ne
'Domain Users'}
Remove-ADPrincipalGroupMembership -Identity $adUser -MemberOf $adGroups -Credential $adcred
我已经彻底测试并且它有效。用户中的管道也是如此
$adcred = Get-Credential
$adUser = Read-Host 'Enter username'
$adGroups = Get-ADPrincipalGroupMembership -Identity $adUser | where {$_.name -ne
'Domain Users'}
$aduser | Get-Aduser | Remove-ADPrincipalGroupMembership -MemberOf $adGroups -Credential $adcred
推荐阅读
- java - Hibernate Elasticsearch 是否与 Wildfly 14 兼容
- javascript - 动画下拉高级搜索
- flutter - 使用 ListView 时出现错误使用 ParentDataWidget 错误
- java - Elastic Beanstalk - 优雅关闭时间太短
- python - 如何创建一个 FileDialog 出现在窗口的框架中,而不是 FileDialog 是一个弹出窗口?
- javascript - 与旧版本的 react 捆绑的组件是否与其未来版本兼容?
- scala - DataFrame Scala 上的数据类型验证
- angular - 图像未从服务器 ionic 4 显示
- python - 当参数已知时如何从自定义分布中采样?
- c# - IsAssignableFrom - 参数的正确顺序是什么?哪个是第一,哪个是第二?