Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Скрипт для восстановления образа Виндовс (http://forum.oszone.net/showthread.php?t=347868)

sputnikk 05-02-2021 07:16 2948858

Скрипт для восстановления образа Виндовс
 
Есть команда 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 2948862

Цитата:

Цитата sputnikk
Не сработало. »

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

Vadikan 05-02-2021 09:55 2948866

Оно может и сработало, но вывод надо в файл делать | Out-File.

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

sputnikk 05-02-2021 10:31 2948872

Цитата:

Цитата YuS_2
Что Вы там предполагаете запускать? »

команду Repair-WindowsImage -Online -RestoreHealth -Source:WIM:Е:\sources\install.wim:1

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

YuS_2 05-02-2021 11:48 2948888

Цитата:

Цитата Vadikan
Оно может и сработало »

вряд ли... cmd не понимает командлетов powershell...
там ведь было:
Цитата:

Цитата sputnikk
Пробовал создать батник »

===

Цитата:

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

Да, это предупреждении о запрете запуска скриптов
в консоли powershell:
Код:

man Set-ExecutionPolicy -s
или здесь


В принципе, можно запускать и без изменения политики запуска скриптов:
запуск из батника Вашей строки:
Код:

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 2948935

Цитата:

Цитата YuS_2
powershell -ex bypass -c »

Спасибо, работает.


Время: 00:25.

Время: 00:25.
© OSzone.net 2001-