2

Я использую сервер сборки на windows server 2008 (команда city). Сборки выполняются агентом Team Team, который работает как служба Windows под учетной записью LocalService.

Одна из сборок должна скопировать созданный ею zip-файл на удаленный общий ресурс, для этого у меня есть сценарий powershell, который пытается создать оболочку для нового процесса с учетными данными пользователя с соответствующими разрешениями на запись в общий ресурс. Проблема в том, что скрипт не может создать процесс. Я могу нормально запустить сценарий от своего администратора (так что сам сценарий может показаться хорошим), это заставляет меня думать, что учетная запись LocalSystem не имеет каких-либо разрешений для оболочки новых процессов с другими учетными данными или что-то в этом роде?

Есть идеи, что на самом деле означает эта ошибка? Примечание: я не вижу никаких ошибок в журналах событий безопасности, которые кажутся странными (?)

$userName = "domain\user"
$password = "password"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist $userName, $secstr
$command = "Copy-Item d:\file.zip \\remote\share\file.zip"
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)

Start-Process powershell -NoNewWindow -ArgumentList "-encodedCommand", $encodedCommand -credential $credentials -wait

Ошибка в строке Start-Process

System.InvalidOperationException: This command cannot be executed due to the error: Access is denied.
    at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)

1 ответ1

0

Посмотрите мой ответ на Повышение кредитоспособности с PowerShell через учетную запись локальной системы в StackOverflow:

Кажется, есть ограничение на некоторые команды, когда скрипт запускается под LocalSystem. Это имеет смысл с точки зрения безопасности, учитывая, что LocalSystem:

имеет полный неограниченный доступ к местным ресурсам. Это также является недостатком LocalSystem, поскольку служба LocalSystem может выполнять действия, которые могут привести к выходу из строя всей системы.

Ссылка: MSDN, учетная запись LocalSystem

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .