Как я могу узнать, есть ли у данного пользователя учетная запись администратора на компьютере с Windows Server 2012?

powershell jenkins jenkins-plugins windows-server-2012

45 просмотра

1 ответ

Я должен выполнить задание Jenkins, которое должно быть выполнено на подчиненной машине с главной машины. Задача состоит в запуске некоторых сценариев powershell на зарегистрированном подчиненном компьютере. Я использую учетную запись для входа от главного к подчиненному, что, как я полагаю, не имеет прав администратора, так как поведение сценария отличается при работе в качестве администратора на компьютере и при локальном запуске на нем.

Как я могу действительно подтвердить, что предоставленный мне пользователь имеет права администратора?

Автор: Rishi Источник Размещён: 08.11.2019 10:59

Ответы (1)


1 плюс

Решение

В PowerShell 4.0 и новее вы можете использовать #Requires -RunAsAdministratorкомментарий в верхней части скрипта, чтобы предотвратить запуск скрипта, если текущий пользователь не имеет прав. Для более ранних версий PowerShell вы можете прервать выполнение сценария, если текущий пользователь не повышен с помощью кода. Например:

$elevated = ([Security.Principal.WindowsPrincipal] `
  [Security.Principal.WindowsIdentity]::GetCurrent()
).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if ( -not $elevated ) {
  throw "This script must be run elevated (Run as administrator)."
}
Автор: Bill_Stewart Размещён: 20.08.2016 06:30
Вопросы из категории :
32x32