CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Ответить
Аватара пользователя
oniava

CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение oniava »

Здравствуйте форумчане.



Вопрос в следующем, точнее нереализованная задумка.

Имеем лог, после сканирования утилитой sfc/scannow на предмет целостности и поврежденных файлов по пути "%windir%\Logs\CBS\cbs.log".

Результат сканирования оказался таким: "Защита ресурсов Windows обнаружила повреждённые файлы, но не может восстановить некоторые из них."

Изображение

Одним словом, замену файлов надо делать руками.

Вот я и подумал, автоматизировать данный процесс.



Этот лог считываем и фильтруем батником:

1. Ищем строки в которых есть фразы:

"Cannot repair member file"

"Repairing corrupted file"

"source file in store is also corrupted"

вывод в отдельный файл cbs_details.txt



Код:

Код: Выделить всё

findstr /c:"Cannot repair member file" %windir%\Logs\CBS\cbs.log >> %userprofile%\Desktop\cbs_details.txt
findstr /c:"Repairing corrupted file" %windir%\Logs\CBS\cbs.log >> %userprofile%\Desktop\cbs_details.txt
findstr /c:"source file in store is also corrupted" %windir%\Logs\CBS\cbs.log >> %userprofile%\Desktop\cbs_details.txt

2. Фильтруем файл cbs_details.txt:



Скрытый текст

[spoiler]2017-10-12 00:43:14, Info CSI 000000a3 [SR] Cannot repair member file [l:24{12}]"ideograf.uce" of Microsoft-Windows-charmap, Version = 6.1.7601.23403, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch

2017-10-12 00:43:15, Info CSI 000000a5 [SR] Cannot repair member file [l:24{12}]"ideograf.uce" of Microsoft-Windows-charmap, Version = 6.1.7601.23403, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch

2017-10-12 00:45:19, Info CSI 00000152 [SR] Cannot repair member file [l:18{9}]"idndl.dll" of Microsoft-Windows-International-Normalization, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch

2017-10-12 00:45:20, Info CSI 00000154 [SR] Cannot repair member file [l:18{9}]"idndl.dll" of Microsoft-Windows-International-Normalization, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch

2017-10-12 00:45:28, Info CSI 0000016a [SR] Cannot repair member file [l:20{10}]"icacls.exe" of Microsoft-Windows-ICacls, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch

2017-10-12 00:45:28, Info CSI 0000016c [SR] Cannot repair member file [l:20{10}]"icsigd.dll" of Microsoft-Windows-icsigd, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch



2017-10-12 00:50:08, Info CSI 000002f2 [SR] Repairing corrupted file [ml:520{260},l:74{37}]"\??\C:\Windows\system32\drivers\ru-RU"\[l:28{14}]"usbhub.sys.mui" from store

2017-10-12 00:50:08, Info CSI 000002f5 [SR] Repairing corrupted file [ml:520{260},l:74{37}]"\??\C:\Windows\system32\drivers\ru-RU"\[l:28{14}]"usbhub.sys.mui" from store

2017-10-12 00:50:08, Info CSI 000002f8 [SR] Repairing corrupted file [ml:520{260},l:74{37}]"\??\C:\Windows\system32\drivers\en-US"\[l:28{14}]"usbhub.sys.mui" from store

2017-10-12 00:50:08, Info CSI 000002fb [SR] Repairing corrupted file [ml:520{260},l:74{37}]"\??\C:\Windows\system32\drivers\en-US"\[l:28{14}]"usbhub.sys.mui" from store

2017-10-12 00:58:52, Info CSI 000004ec [SR] Repairing corrupted file [ml:520{260},l:74{37}]"\??\C:\Windows\system32\drivers\ru-RU"\[l:28{14}]"usbhub.sys.mui" from store

2017-10-12 00:58:52, Info CSI 000004f5 [SR] Repairing corrupted file [ml:520{260},l:74{37}]"\??\C:\Windows\system32\drivers\en-US"\[l:28{14}]"usbhub.sys.mui" from store



2017-10-12 00:43:15, Info CSI 000000a9 [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:24{12}]"ideograf.uce"; source file in store is also corrupted

2017-10-12 00:45:20, Info CSI 00000158 [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:18{9}]"idndl.dll"; source file in store is also corrupted

2017-10-12 00:45:32, Info CSI 0000017e [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:22{11}]"ieakeng.dll"; source file in store is also corrupted

2017-10-12 00:45:32, Info CSI 00000184 [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:22{11}]"icardie.dll"; source file in store is also corrupted

2017-10-12 00:45:32, Info CSI 0000018d [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:20{10}]"ieakui.dll"; source file in store is also corrupted

2017-10-12 00:45:32, Info CSI 00000193 [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:20{10}]"icacls.exe"; source file in store is also corrupted[/spoiler]




чтобы в файле cbs_details.txt остались нужные нам строки с испорченными файлами:



Скрытый текст

[spoiler]C:\Windows\System32\IasMigPlugin.dll

C:\Windows\System32\iaspolcy.dll

C:\Windows\System32\iasrad.dll

C:\Windows\System32\iasrecst.dll

C:\Windows\System32\iassdo.dll

C:\Windows\System32\iassvcs.dll

C:\Windows\System32\icacls.exe

C:\Windows\System32\icardagt.exe

C:\Windows\System32\ieapfltr.dat

C:\Windows\system32\drivers\ru-RU\usbhub.sys.mui[/spoiler]




4. Далее, батник беря данные из файла cbs_details.txt, делает резервную копию файлов, на всякий случай



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

copy "C:\Windows\System32\IasMigPlugin.dll" "C:\OldSystem32\IasMigPlugin.dll"
copy "C:\Windows\System32\iaspolcy.dll" "C:\OldSystem32\iaspolcy.dll"
copy "C:\Windows\System32\iasrad.dll" "C:\OldSystem32\iasrad.dll"
copy "C:\Windows\System32\icacls.exe" "C:\OldSystem32\icacls.exe"
copy "C:\Windows\System32\icsigd.dll" "C:\OldSystem32\icsigd.dll"
copy "C:\Windows\System32\ideograf.uce" "C:\OldSystem32\ideograf.uce"
copy "C:\Windows\System32\idndl.dll" "C:\OldSystem32\idndl.dll"
copy "C:\Windows\System32\ieapfltr.dat" "C:\OldSystem32\ieapfltr.dat"
copy "C:\Windows\system32\drivers\ru-RU\usbhub.sys.mui" "C:\OldSystem32\drivers\ru-RU\usbhub.sys.mui"







У нас уже приготовлена папка с распакованным дистрибутив нашей Windows на другой диск в папку D:\Folder\System32\.



5. Удаляем выбранные файлы:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

DEL /F /S /Q /A "C:\Windows\System32\IasMigPlugin.dll"
DEL /F /S /Q /A "C:\Windows\System32\iaspolcy.dll"
DEL /F /S /Q /A "C:\Windows\System32\iasrad.dll"
DEL /F /S /Q /A "C:\Windows\System32\icacls.exe"
DEL /F /S /Q /A "C:\Windows\System32\icsigd.dll"
DEL /F /S /Q /A "C:\Windows\System32\ideograf.uce"
DEL /F /S /Q /A "C:\Windows\System32\idndl.dll"
DEL /F /S /Q /A "C:\Windows\System32\ieapfltr.dat"
DEL /F /S /Q /A "C:\Windows\system32\drivers\ru-RU\usbhub.sys.mui"







6. Копируем файлы из распакованного дистрибутива D:\Folder\System32\ в нашу систему:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

copy "D:\Folder\System32\IasMigPlugin.dll" "D:\Folder\System32\IasMigPlugin.dll"
copy "D:\Folder\System32\iaspolcy.dll" "D:\Folder\System32\iaspolcy.dll"
copy "D:\Folder\System32\iasrad.dll" "D:\Folder\System32\iasrad.dll"
copy "D:\Folder\System32\icacls.exe" "D:\Folder\System32\icacls.exe"
copy "D:\Folder\System32\icsigd.dll" "D:\Folder\System32\icsigd.dll"
copy "D:\Folder\System32\ideograf.uce" "D:\Folder\System32\ideograf.uce"
copy "D:\Folder\System32\idndl.dll" "D:\Folder\System32\idndl.dll"
copy "D:\Folder\System32\ieapfltr.dat" "D:\Folder\System32\ieapfltr.dat"
copy "D:\Folder\System32\drivers\ru-RU\usbhub.sys.mui" "D:\Folder\System32\drivers\ru-RU\usbhub.sys.mui"







Я весь код обобщенно написал, его можно сократить в несколько раз.

Думаю, данный скрипт многим пригодится.

Кто может помочь в данном вопросе.c
Аватара пользователя
Казбек

Re: CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение Казбек »

Цитата oniava:



Одним словом, замену файлов надо делать руками.
CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow




На последних ОС руками делать ничего не надо, потому что есть:



Код:

Код: Выделить всё

Dism /Online /Cleanup-Image /RestoreHealth

Более того, есть возможность восстановить из образа оффлайн образ ОС:


Цитата:



To repair an offline image using a mounted image as a repair source, at a command prompt, type the following command:



Код:

Код: Выделить всё

Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows





Repair a Windows Image


На мой взгляд, sfc[/i], по состоянию на 2017 год, себя изжил.
Аватара пользователя
oniava

Re: CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение oniava »

Потому как



Код:

Код: Выделить всё

Dism /Online /Cleanup-Image /CheckHealth

ошибок не находит:



Checking System Update Readiness.

Binary Version 6.1.7601.23471

2017-10-12 22:20



Checking Windows Servicing Packages



Checking Package Manifests and Catalogs



Checking Package Watchlist



Checking Component Watchlist



Checking Packages



Checking Component Store



Summary:

Seconds executed: 298

No errors detected



А так есть

Изображение



И у меня Windows 7*64 bit.
Аватара пользователя
Vadikan

Re: CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение Vadikan »

Цитата Казбек:



На последних ОС руками делать ничего не надо, потому что есть:

Код:

Dism /Online /Cleanup-Image /RestoreHealth
CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow




Не вижу связи с SFC, это разные сущности.
Аватара пользователя
Казбек

Re: CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение Казбек »

Цитата Vadikan:



Не вижу связи с SFC
CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow




Связь самая непосредственная. После выполнения:



Код:

Код: Выделить всё

Dism /Online /Cleanup-Image /RestoreHealth

В подавляющем большинстве случаем восстанавливать вручную[/i] уже ничего не нужно (
Установка - [решено] Найдены ошибки при sfc/scannow
), не смотря на рекомендации после проверки целостности хранилища выполнять и проверку целостности системных файлов. Вот это и был посыл моего сообщения.




Цитата oniava:



Dism /Online /Cleanup-Image /CheckHealth
CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow




Однако в Windows 7 есть ряд особенностей....
Аватара пользователя
oniava

Re: CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение oniava »

Как я писал выше, в своей Windows 7х64 командой



Код:

Код: Выделить всё

Dism /Online /Cleanup-Image /CheckHealth

я повреждений не нахожу, хотя командой



Код:

Код: Выделить всё

sfc/scannow

эти повреждения есть!

см выше написанное, пост #2
Аватара пользователя
Vadikan

Re: CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Сообщение Vadikan »

Цитата Казбек:



не смотря на рекомендации после проверки целостности хранилища выполнять и проверку целостности системных файлов.
CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow




Ну так рекомендация дается на случай, когда dism /restorehealth не восстановил поврежденные файлы, пытаясь восстановить поврежденные компоненты.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»