【发布时间】:2017-04-21 09:25:40
【问题描述】:
我正在尝试使用 PowerShell 将成员添加到服务器管理员角色。我可以为每个可用的单独数据库添加角色和成员,但我想将其添加到顶层,以便给定用户可以访问数据库。
这是我当前的代码,但我得到了错误:
使用“1”个参数调用“添加”的异常:“集合的大小是固定的。” 在 D:\Untitled8.ps1:15 char:1 + $targetsvr.Roles.Members.Add($syncAccount) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : NotSupportedException
Function Add-NewMember
{
[CmdletBinding()]
param(
[Parameter(Position=0,mandatory=$true)]
[string] $ssasInstance,
[Parameter(Position=1,mandatory=$true)]
[string] $syncAccount ="NT Service\SQLSERVERAGENT")
[void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$targetsvr = new-Object Microsoft.AnalysisServices.Server
$targetsvr.Connect($ssasInstance)
$targetsvr.Roles.Members.Add($syncAccount)
}
Add-NewMember -ssasInstance "localhost" -syncAccount "NT SERVICE\SQLSERVERAGENT"
【问题讨论】:
-
请将确切的错误信息添加到问题中。哦,一个名为
Add-Member的用户函数也会与 Powershell 自身的功能发生冲突? -
我只是改了函数名还是一样
-
docs.microsoft.com/en-us/sql/analysis-services/powershell/… - 这不是你想要的吗?我从未亲自尝试过。
-
那是在数据库级别添加,但我想按照图片所示添加
标签: sql-server powershell