Это может сводиться к двум проблемам:
Инструмент на самом деле должен работать с повышенными правами, потому что в противном случае ему не разрешено вносить необходимые изменения. Обычно это происходит, когда вы запускаете инструмент на машине локально и вносите изменения, характерные для этой машины. В этом случае вам нужно поднять консоль перед запуском команды. Это можно сделать прямо из powershell, используя:
$newProcess = New-Object System.Diagnostics.ProcessStartInfo "powershell"; #Indicate that the process should be elevated $newProcess.Verb = "runas"; #Start the new process [System.Diagnostics.Process]::Start($newProcess) | Out-Null
- Инструмент неправильно настроен и работает только в том случае, если соответствующий пользователь будет достаточно для внесения необходимых изменений. Это обычно имеет место при управлении удаленным сервером с помощью инструмента. В этом случае вы можете изменить способ запуска команды (asAdmin, asInvoke, asHighest), используя набор средств для обеспечения совместимости приложений ( загрузить ) и применив исправление RunAsInvoker к исполняемому файлу.
- Откройте администратор совместимости
- создать новое исправление в текущей базе данных
- установить путь к исполняемому файлу
- Из списка исправлений выберите RunAsInvoker, нажмите «Настройки» и в модуле editBox введите * и нажмите «Добавить».
- сохранить базу данных и установить ее, щелкнув правой кнопкой мыши
К сожалению, это не будет работать для MMC.