PDA

Показать полную графическую версию : [решено] Скрипт для восстановления образа Виндовс


sputnikk
05-02-2021, 07:16
Есть команда Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1 для восстановления образа Винды со вставленным установочным диском. Пробовал создать батник
Powershell -File ./systemInfo.ps1
Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1
Не сработало. Можно заставить работать, создав 1 файл?

YuS_2
05-02-2021, 09:07
Не сработало. »
В батнике командлеты powershell и не могут работать напрямую... странно было ожидать какого-то результата.
1. непонятно: почему запускается скрипт с названием systemInfo.ps1, а после него командлет...
2. непонятно: что значит "работать, создав 1 файл". Что Вы там предполагаете запускать?

Vadikan
05-02-2021, 09:55
Оно может и сработало, но вывод надо в файл делать | Out-File.

Буква диска может варьироваться, неплохо бы проверять пару дюжин букв на наличие пути. И если уж WIM суете, то наверное имеет смысл limitaccess.

sputnikk
05-02-2021, 10:31
Что Вы там предполагаете запускать? » команду Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1

Если создать с ней файл .ps1, то при запуске файла выдаётся большое предупреждение о нарушении безопасности

YuS_2
05-02-2021, 11:48
Оно может и сработало »
вряд ли... cmd не понимает командлетов powershell...
там ведь было:
Пробовал создать батник »
===

Если создать с ней файл .ps1, то при запуске файла выдаётся большое предупреждение о нарушении безопасности »
Да, это предупреждении о запрете запуска скриптов
в консоли powershell:
man Set-ExecutionPolicy -s
или здесь (https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-5.1)


В принципе, можно запускать и без изменения политики запуска скриптов:
запуск из батника Вашей строки:
powershell -ex bypass -c "&{Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1}"
или строку записать в файл скрипта (например, script.ps1) и запускать:
powershell -ex bypass -f .\script.ps1

батник в кодировке OEM (CP866), файл скрипта в кодировке UTF-8 с BOM

Соответствие самой строки правилам командлета не проверял, проверяйте перед запуском...

sputnikk
05-02-2021, 16:10
powershell -ex bypass -c » Спасибо, работает.




© OSzone.net 2001-2012