А как на 64-разрядных исправить вот это ???
Подскажите пожайлуста.....
Я изменил путь
PowerShell:
@echo off
SetLocal EnableExtensions
set "ps=" & for %%X in (powerShell.exe) do set "ps=%%~$PATH:X"
if not defined ps set "ps=%systemRoot%\syswow64\windowsPowerShell\v1.0\powerShell.exe"
For /F "UseBackQ delims=" %%a in (`"cmd /c "
"%ps%" -ExecutionPolicy ByPass -NoProfile -command "echo 123"
""`) do (
echo %%a
)
pause
Все равно ошибка.
И можете дописать проверку на разрядность, чтобы данный скрипт мог запускаться на любой версии Windows 32 или 64 разряда ?
То есть при запуске что бы проверялась разрядность, соответственно в зависимости от результата проверки запускалась нужная версия Power shell и запускалась не команда а уже готовый скрипт Powershell ?
Я как понимаю в 64 разрядной системе запускается cmd 32 разрядное и оно не может правильно интерпретировать переданные ему команды на запуск powershell 64 разряда ?
Почему ?
И в то же время если я запускаю cmd вручную и ввожу
"%ps%" -ExecutionPolicy ByPass -NoProfile -file "путь к скрипту.ps1"
По поводу скрина - это какие-то проблемы в вашей системе.
На обычной системе нет файла PowerShell.exe в папке \Windows\System32
Упакуйте этот файл в архив с паролем virus и пришлите на адрес quarantine<at>safezone.cc (замените <at> на @) с указанием вашего никнейма в заголовке письма и ссылки на эту тему.
Напишите также, чему = переменная PATH. (в CMD ввести слово PATH).
alex-s, пожалуйста, больше никогда не прикрепляйте потенциально опасные вложения на форум, даже с паролем. Удалил. Архив распаковать не смог. Там стоял неизвестный пароль, не virus
По поводу почты, пожалуйста, попробуйте отправить ещё раз, удалив у файла powerShell.exe расширение .exe, перед его упаковкой в архив.
Ваш вопрос перенёс в отдельную тему для разрешения системных проблем.
Если подтвердится наличие заражения, предлагаем оформить новую тему в разделе лечения.
Alien, я ошибся. Из Vista вырезан 16-битный интерпретатор command.com, но 16-разрядные программы всё ещё могут быть запущены через cmd.exe,
однако поддержка есть только в x32-разрядных версиях Windows. Кроме того, начиная с Windows 8, как вы правильно отметили, необходимо ещё и включить компонент NTVDM.