如何通过Node.js使用不同的凭据运行exchange powershell命令?

时间:2018-06-26 09:48:26

标签: node.js powershell

上下文:

我正在创建一个电子反应应用程序。我正在为我的同事建造它。 该应用程序将为您提供易于使用的UI。您可以执行通常需要Powershell进行的其他操作。 示例:Gui询问您要访问的用户,以及另一个也应授予访问权的用户。

然后,我将我们需要的所有信息传递给powershell-node(一个处理带有node的powershell的程序包),它将(在此示例中)授予指定用户完全访问权限。

问题

由于我们没有个人登录权限,因此我们使用了另一个帐户来执行交换和Powershell命令。所以通常我会这样向我们的前服务器创建一个pssession:

$Connection = @{
ConfigurationName = 'Microsoft.Exchange' 
ConnectionUri     = 'http://ourserver/powershell' 
Authentication    = 'Kerberos' 
Credential        = Get-Credential}

$Ex2010Session = New-PSSession @Connection
Import-PSSession $Ex2010Session -AllowClobber | Out-Null

通常这可以工作,并给我命令行开关add-mailboxpermission。 该命令本身也可以在普通Powershell上运行,因为我使用管理员帐户(运行方式)打开了它。这就是重点:

在我的脚本中,我确实执行了此操作,但是随后我使用所有必需的参数运行Add-Mailboxpermission命令。

当然不能用,因为我用普通帐户打开了电子应用程序。此外,-Credential命令上没有Add-MailboxPermission参数。

可能的解决方案; 我想到的第一个想法是,仅使用adm帐户打开应用程序。可能的话,我渴望有更好的解决方案。

我尝试了什么

我的下一个想法是“为什么我不通过这样的invoke-command将命令发送到服务器:

Invoke-Command -Session $Ex2010Session -ScriptBlock {
Add-MailboxPermission -Identity $Identity -AccessRights 'FullAccess' -user 
$User -automapping $Automapping
}

不幸的是,当我尝试运行此命令时,出现以下错误消息:

  

在受限语言模式下无法引用的变量或正在引用“数据”部分的变量。变量   可以引用的内容包括:$ PSCulture,$ PSUICulture,$ true,$ false和$ null。

我无权访问我们的前基础架构,因此无法尝试解决这些问题(语言模式)。

所以我在那里,不知道如何解决这个问题。我希望你们对如何解决它有任何想法,这将非常整洁。

该应用程序的小屏幕截图: enter image description here

0 个答案:

没有答案