【发布时间】:2015-09-07 22:07:07
【问题描述】:
我最初的问题有点复杂。然而,一些很酷的成员确实设法帮助了我。
我从 Vesper 得到以下代码:
$mailbox=get-mailbox $username
$perms=get-mailboxpermission $mailbox | where {$_.isinherited -eq $false -and $_.user.toString() -ne "NT AUTHORITY\SELF"}
$perms | remove-mailboxpermission $mailbox -confirm:$false
当我在 Exchange PowerShell 中一一运行这些命令时,它运行良好。但是,当我尝试运行包含该 sn-p 的完整脚本时,我收到以下错误:
Cannot process argument transformation on parameter 'Identity'. Cannot convert the "USERNAME" value of type
"Deserialized.Microsoft.Exchange.Data.Directory.Management.Mailbox" to type
"Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter".
+ CategoryInfo : InvalidData: (:) [Get-MailboxPermission], ParameterBindin...mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-MailboxPermission
+ PSComputerName : SERVER
知道如何解决这个问题吗?
【问题讨论】:
-
嗨,约翰,欢迎来到 SO。这是一个相当高的要求。我们不是代码编写服务,也不是资源定位工具。我们在这里为程序员和编程爱好者提供帮助。您自己应该能够将此请求分解为各个部分并自行尝试。当您遇到特定问题时,表明您的工作和您的需求,社区会非常愿意帮助您。
-
你好,马特。我完全明白。我已经在尝试将一些东西放在一起,但不幸的是我真的不知道从哪里开始。我想我会继续浏览互联网,看看我能走多远。还是谢谢你。
-
Get-Mailbox,Get-ADPermission将是开始的地方。 -
我已经知道这些命令了。我卡住的地方是我如何才能通过该特定邮箱的权限,识别需要保留的标准权限并删除所有其他权限。我正在考虑 Get-Mailboxpermission。导出该结果,然后再次导入并遍历权限,仅删除不标准的权限。
-
那么,您需要从禁用用户的邮箱中删除不特定于 Exchange 系统的“所有用户权限”吗?您应该使用 Exchange 的 cmdlet(
Get-MailboxPermission等)而不是 AD 的 cmdlet。
标签: powershell exchange-server rights