Контекст:
Я создаю приложение 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](https://i.stack.imgur.com/fyU9O.png)