【发布时间】:2016-08-10 01:20:52
【问题描述】:
我想在我们设置新权限之前删除 MSMQ 队列上的所有权限,这将通过 Octopus 部署。 这样我们就可以确定不存在遗留权限,并确保权限相同。
$QueueName = "MyQueue"
$QueuePermissions = Get-MsmqQueue -Name $QueueName | Get-MsmqQueueACL
$QueueUsers = $QueuePermissions.AccountName | Get-Unique
foreach ($User in $QueueUsers)
if ($User -like 'MyDomain*'){
#Something like
$QueueName | Set-MsmqQueueACL -UserName $User -Remove
}
不幸的是,我需要为要删除的 Set-MsmqQueueACL 创建一个 CSV 权限列表。 我怎样才能得到这个?
我对 PowerShell 还很陌生,因此我们将不胜感激。
谢谢!
【问题讨论】:
-
您可以将多个用户传递给
-UserName参数。因此,您只需要使用用户名创建一个 csv。你会发现很多这样的例子。 -
CSV 应该是输入还是输出? IOW 您需要创建一个 CSV 列表来列出必须删除的内容,还是需要创建已删除(或将要删除)权限的报告?
-
我的最终目标是删除当前存在的所有权限。我不知道我可以传递多个用户名。我可以只传递 Get-MsmqQueueACL 的结果来删除权限吗?
标签: powershell msmq