Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

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

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: oniava
Дата: 12-10-2017
Здравствуйте форумчане.

Вопрос в следующем, точнее нереализованная задумка.
Имеем лог, после сканирования утилитой 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:
Скрытый текст

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

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

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

4. Далее, батник беря данные из файла cbs_details.txt, делает резервную копию файлов, на всякий случай
Скрытый текст
Код: Выделить весь код
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. Удаляем выбранные файлы:
Скрытый текст
Код: Выделить весь код
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\ в нашу систему:
Скрытый текст
Код: Выделить весь код
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

Отправлено: 21:25, 12-10-2017

 

Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1875

Профиль | Отправить PM | Цитировать


Цитата oniava:
Одним словом, замену файлов надо делать руками. »
На последних ОС руками делать ничего не надо, потому что есть:
Код: Выделить весь код
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, по состоянию на 2017 год, себя изжил.

-------
Кто реку перешел, тому росы бояться ни к чему

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:18, 12-10-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Потому как
Код: Выделить весь код
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.

Последний раз редактировалось oniava, 12-10-2017 в 23:08.


Отправлено: 22:52, 12-10-2017 | #3


(*.*)


Сообщения: 36554
Благодарности: 6693

Профиль | Сайт | Отправить PM | Цитировать


Цитата Казбек:
На последних ОС руками делать ничего не надо, потому что есть:
Код:
Dism /Online /Cleanup-Image /RestoreHealth »
Не вижу связи с SFC, это разные сущности.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:14, 13-10-2017 | #4


Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1875

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
Не вижу связи с SFC »
Связь самая непосредственная. После выполнения:
Код: Выделить весь код
Dism /Online /Cleanup-Image /RestoreHealth
В подавляющем большинстве случаем восстанавливать вручную уже ничего не нужно (один из многочисленных примеров), не смотря на рекомендации после проверки целостности хранилища выполнять и проверку целостности системных файлов. Вот это и был посыл моего сообщения.

Цитата oniava:
Dism /Online /Cleanup-Image /CheckHealth »
Однако в Windows 7 есть ряд особенностей....

-------
Кто реку перешел, тому росы бояться ни к чему


Отправлено: 12:47, 13-10-2017 | #5


Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как я писал выше, в своей Windows 7х64 командой
Код: Выделить весь код
Dism /Online /Cleanup-Image /CheckHealth
я повреждений не нахожу, хотя командой
Код: Выделить весь код
sfc/scannow
эти повреждения есть!
см выше написанное, пост #2

Отправлено: 13:29, 13-10-2017 | #6


(*.*)


Сообщения: 36554
Благодарности: 6693

Профиль | Сайт | Отправить PM | Цитировать


Цитата Казбек:
не смотря на рекомендации после проверки целостности хранилища выполнять и проверку целостности системных файлов. »
Ну так рекомендация дается на случай, когда dism /restorehealth не восстановил поврежденные файлы, пытаясь восстановить поврежденные компоненты.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 22:54, 14-10-2017 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник, для фильтрации и чтения лога утилиты sfc/scannow

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Службы - sfc/scannow mitya_a Microsoft Windows 7 1 26-01-2017 09:23
Разное - sfc /scannow Harkovchanin1968 Microsoft Windows 10 3 20-05-2016 21:44
sfc /scannow vengro1973 Хочу все знать 17 18-11-2014 14:08
Разное - sfc /scannow mmgfs Microsoft Windows 8 и 8.1 1 17-11-2014 12:07
CMD/BAT - Батник для чтения/записи djalin Скриптовые языки администрирования Windows 9 11-03-2012 17:07




 
Переход