Как запустить команду exchange powershell с разными учетными данными через Node.js? - PullRequest
0 голосов
/ 26 июня 2018

Контекст:

Я создаю приложение Electron React. Я строю это для моих коллег. Это приложение даст вам простой в использовании интерфейс. Вы можете делать разные вещи, для которых вам обычно требуется PowerShell. Пример: Gui запрашивает у вас пользователя, к которому вы хотите получить доступ, и другого пользователя, которому он также должен предоставить доступ.

Затем я передаю все, что нам нужно, на powershell-node (пакет, который обрабатывает powershell с узлом), и он (в этом примере) предоставит разрешения на полный доступ указанному пользователю.

Проблема

Мы используем другую учетную запись для запуска команд exchange и 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 со всеми необходимыми параметрами.

Конечно, это не сработает, потому что я открыл свое электронное приложение со своей обычной учетной записью. Также в команде Add-MailboxPermission отсутствует параметр -Credential.

Возможное решение; Первая идея, которая приходит мне в голову, это просто открыть приложение с учетной записью 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...