4

我有这个在远程机器上创建 COM+ 应用程序的 powershell 脚本:

$credentials = Get-Credential -Message "Test" -User "DOMAIN\User"
$roleRM = new-pssession -computername MACHINE -credential $credentials

Invoke-Command -Session $roleRM -scriptblock `
{
$comAdmin = New-Object -ComObject ("COMAdmin.COMAdminCatalog.1")   
$comApplicationCollection = $comAdmin.GetCollection("Applications")
$comApplicationCollection.Populate()
$comApplication = $comApplicationCollection.Add()
$comApplication.Value("Name") = "Server"
$comApplication.Value("ApplicationAccessChecksEnabled") = 0
$comApplication.Value("AccessChecksLevel") = (0)
$comApplication.Value("Authentication") = (1)
$comApplication.Value("Identity") = "DOMAIN\User"
$comApplication.Value("Password") = "password"
$comApplication.Value("QueuingEnabled") = 1
$comApplication.Value("QueueListenerEnabled") = 1
$comApplicationCollection.SaveChanges()
}

但是当我尝试运行它时,它会因以下错误而失败:

Exception calling "SaveChanges" with "0" argument(s): "An operations error occurred. " + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation + PSComputerName : MACHINE

如果我排除这一行:

$comApplication.Value("QueuingEnabled") = 1

然后它会正确保存并创建应用程序。如果我在本地运行此脚本,那么它会在本地机器上正确创建应用程序QueuingEnabled=1,但在远程机器上运行时总是失败。

为什么会这样?

4

1 回答 1

0

尝试将“身份验证”设置为 4 或 6,看看是否有任何改变。看到这个

于 2015-08-25T14:12:52.867 回答