Powershell удалить проблему выполнения
Эй там,
Я пытаюсь выполнить exe-файл через сеанс удаления powershell, но застрял с некоторыми странностями...
Исполняемый файл, который я выполняю, подключается к базе данных с использованием локальных подключенных учетных данных и получает материал из БД (IntegratedSecurity = true)
Теперь-когда я подключаюсь к удаленной машине с помощью пользователя "менеджер" через удаленный рабочий стол и запускаю exe-файл-все в порядке.
Но-когда я запускаю это через powershell:
$results = Invoke-Command -ComputerName Dust_1 -Credential $credentials -ScriptBlock { $ArgList = 'scope_Items_1', '--saveReport'; $ps = Start-Process 'C:\DataComparer\Comparer.exe' -ArgumentList $ArgList -NoNewWindow -Wait return $ps; }
Я получаю ошибку: "
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'"
Есть идеи, что здесь происходит?
Я даже попытался выполнить это внутри блока скрипта:
Write-Host $env:UserName;
И он распечатал "менеджер", и это правильно, и теперь похоже, что я связан с правильным пользователем" менеджер", но когда я пытаюсь запустить что - то удаленно-он выполняется как какой-то NT AUTHORITY\ANONYMOUS LOGON....
Так что ... я тут вроде как заблудился....
Есть мысли?
Заранее спасибо!
Что я уже пробовал:
пробовал различные способы выполнения exe-файла, но он всегда выполняет его с каким-то анонимным пользователем входа в систему...
Я также настроил WSManCredSSP так, чтобы он позволял проходить и получать учетные данные - по-прежнему никакой радости.
Michael_Davies
Когда вы говорите: "но-когда я запускаю это через powershell:" каким образом, если вы запускаете это в Powershell как вошедший в систему пользователь, ваши учетные данные являются учетными данными вошедшего в систему пользователя, и до тех пор, пока этот пользователь имеет правильные привилегии, он будет работать.
В каком контексте вы запускаете его в Powershell, когда он выходит из строя.
MK-Gii
вот полный сценарий:
$данные = вам-учетных данных бухгалтерского учета менеджера;
$результат = ссылаться-командной Имя_компьютера Dust_1 -учетных $учетные данные -сценария {
$ArgList = 'scope_Items_1', '--saveReport';
$ПС = старт-процесс 'C:\DataComparer\Comparer.exe' -Список_аргументов $Список_аргументов -NoNewWindow -ждать
возврат $ps;
}
в принципе - я работаю на PC_1 и начинаю новый процесс на PC_2. PC_2 пытается подключиться к базе данных, используя подключенные учетные данные пользователя. И он терпит неудачу из-за того, что этот неправильный пользователь используется для аутентификации (анонимный)
Michael_Davies
Вас спрашивают пароль, когда вы вызываете скрипт на PC_2
MK-Gii
Нет - меня спрашивают только в первый раз. тогда я использую одни и те же учетные данные везде.