Вы решаете проблему невозврата вывода, а вопрос задаёте про "Почему не работает Powershell"
Никто ж не знает что у вас там вместо whoami в реальности должно использоваться
Rampage1410, так а зачем нужна ассоциация? Для того чтобы кто-то один раз выполнил ваш скрипт? вот для одного запуска скрипта просить юзера выполнить другой скрипт? Так он все равно выполнит его даблкликом и вынесет вам мозг :) потому что ваша ассоциация на sudo, а не на open.
Да и все эти -command if из дремучего леса, потому что у powershell есть отдельный параметр установки -executionpolicy и -file вместо -command
Так что самый правильный вариант не мучать себя и юзеров и настроит ремотинг.
Более странный, но вполне действенный - cmd запускающий powershell
Rampage1410, Если у вас 100+ компов, то наверное есть AD?
Set-ExecutionPolicy делается через GPO, там же настраивается Remoting
после этого можно запускать удалённо любые необходимые скрипты
Если AD нет, ремотинг можно настроить через psexec
просто запустить везде где надо C:\Windows\System32\winrm.cmd quickconfig /q
потом подключаться с -Authentication Nеgotiate и логинами-паролями из таблички, если они различные или одинаковым, если нет
Потом можно везде раскидать задачу, которая будет запускаться когда нужно с нужными правами и делать что нужно. Это если задача ваша не единоразовая.
Не, по задумке в реестр вносится правка, позволяющая этому челу запускать скрипты, но сделано это совершенно нечеловеческим образом. тот кто такое придумал, долго курил перед публикацией запрещённые вещества.
а автор почему-то решил что это хороший способ решить его проблему. и упорствует :)
Rampage1410, чтобы человек мог запускать скрипт от админа, надо просто под той учёткой, под которой он собирается что-то там запускать, один раз выполнить Set-ExecutionPolicy с необходимыми параметрами
Скрипт запускается из под системы, sql сервер, судя по всему, от кого-то другого.
Добавляете отдельную роль с правами бэкапа и запускаете бэкап из под неё.
Если вы хотите чтобы ваш скрипт на таких ошибках падал совсем, используйте в коммандлетах -ErrorAction Stop - тогда оно будет весь скрипт ронять, а не только текущую команду.
Morrowind, workflow будет страшно медленным и прожорливым для простого копирования. так что всё ж или PS7 Foreach-Object -Parallel или PS5 + модули типа Invoke-Parallel, PoshRSJob, ThreadJob
Хотя, конечно, он на 5 из коробки
Tamura, не имею ни малейшего представления, какая у вас связь между хостом и его настройками, но lookup можно делать с переменной, например lookup(file, "/path/to/file_{{ ansible_hostname }}") - тогда каждому хосту будет соответствовать свой файл
а можно настройки привязать к группам или хостам через group_vars/host_vars и тогда они будут браться из переменной
Не поленился и запустил у себя - результата whoami не увидел, а вы утверждаете что "при запуске всё нормально"
Start-Process разве обещал вернуть Output ?
Перенаправление в файл работает прекрасно
Вы решаете проблему невозврата вывода, а вопрос задаёте про "Почему не работает Powershell"
Никто ж не знает что у вас там вместо whoami в реальности должно использоваться