|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Массовое определение контрольных сумм файлов |
|
PowerShell - Массовое определение контрольных сумм файлов
|
Старожил Сообщения: 184 |
Добрый день! Хочу в папке Windows всем exe файлам определить контрольные суммы (в дальнейшем и не только в Windows). Через PowerShell:
param ( [string]$FolderPath, # c:\windows [string]$LogFile = "c:\1\checksums.log" ) if (-Not (Test-Path $FolderPath)) { Write-Host "Путь не найден: $FolderPath" exit } $files = Get-ChildItem -Path $FolderPath -Recurse -Filter *.exe $logFileStream = New-Object System.IO.StreamWriter($LogFile, $false) foreach ($file in $files) { try { $hash = Get-FileHash -Path $file.FullName -Algorithm SHA256 $logEntry = "{0} {1}" -f $hash.Hash, $file.FullName $logFileStream.WriteLine($logEntry) Write-Host "Контрольная сумма для $($file.FullName): $($hash.Hash)" } catch { Write-Host "Ошибка при обработке файла $($file.FullName): $_" } } $logFileStream.Close() Write-Host "Результаты сохранены в $LogFile" Цитата:
Цитата:
|
|||
Отправлено: 13:19, 28-12-2024 |
Ветеран Сообщения: 4626
|
Профиль | Отправить PM | Цитировать Цитата alexdomovoi:
Как вариант, задайте путь к каталогу в первой переменной, как это присвоение сделано во второй переменной. |
|
Отправлено: 13:37, 28-12-2024 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 184
|
Профиль | Отправить PM | Цитировать Цитата NickM:
|
|
Отправлено: 13:48, 28-12-2024 | #3 |
Ветеран Сообщения: 4626
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:00, 28-12-2024 | #4 |
Crazy Сообщения: 1232
|
Профиль | Отправить PM | Цитировать Цитата alexdomovoi:
Цитата alexdomovoi:
Цитата alexdomovoi:
Цитата alexdomovoi:
Если хотите запускать так, то эту часть измените: на: |
|||||
------- Отправлено: 14:04, 28-12-2024 | #5 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать Можно через 7-zip:
$7z = 'C:\Program Files\7-Zip\7z.exe' $report = @() dir C:\temp\*.exe |% { $obj = [pscustomobject]@{ Path = $_.fullname Checksum = (& $7z h -scrcsha256 $_.fullname) -match 'for data' -replace '.*\s+' -as [string] } $report += $obj } # Выгрузка в CSV $report |export-csv c:\temp\checksum.csv -Encoding utf8 -Delimiter ';' -NoTypeInformation gc c:\temp\checksum.csv "Path";"Checksum" "C:\temp\DjVuLibre-3.5.28_DjView-4.12_Setup.exe";"16c0a63926d0380280f35c8d9570efe01032c03c262ba61aa72a341b8cb58469" "C:\temp\handheld_quake_setup.exe";"cdc755bd5052d3b7a4d837e579d932baef2162fcad001479f2214b1506bb43ee" "C:\temp\LibreELEC.USB-SD.Creator.Win32.exe";"3730ee946845d59d85926d7f55b3149b3ba3fc8db8d2bec319f3c3c635ba9775" |
------- Отправлено: 21:36, 28-12-2024 | #6 |
(*.*) Сообщения: 36570
|
Профиль | Сайт | Отправить PM | Цитировать Зачем 7-zip если есть certutil https://www.outsidethebox.ms/10527/
|
------- Отправлено: 14:22, 29-12-2024 | #7 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:19, 29-12-2024 | #8 |
(*.*) Сообщения: 36570
|
Профиль | Сайт | Отправить PM | Цитировать DJ Mogarych, проверял? Алгоритм хэша надо указывать в верхнем регистре:) Трюки утилиты certutil
|
------- Отправлено: 18:57, 29-12-2024 | #9 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать И в нижнем работает:
PS C:\WINDOWS\System32> $report |select -first 5 Path Checksum ---- -------- C:\WINDOWS\System32\agentactivationruntimestarter.exe be21cc87cd36ef8b88d738cd227270c0355ba93e2e4eff72e9fbf1d5c50de348 C:\WINDOWS\System32\AgentService.exe 1adf75a3cd3eb83aebc8a6d72853970857f9b0cabdc29e5d6fbb915f2f7d688c C:\WINDOWS\System32\AggregatorHost.exe 64aa037f7033a7b9701bddc8fa2f0aa34765d354eaec413719a3eeb466cfd703 C:\WINDOWS\System32\aitstatic.exe 3aa57252eed27c048e58a16d7f2e9e80e3c860e29af0e7c8cad1f95b082f5858 C:\WINDOWS\System32\alg.exe 268d5226f97813b3280b67ad3037c2aadd32bee89e319df760d79f67e1f5388b |
------- Отправлено: 19:26, 29-12-2024 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Массовое переименование файлов | Super_Kolobok | Скриптовые языки администрирования Windows | 4 | 19-05-2024 16:28 | |
Программы для сверки контрольных сумм | KaSpieC 666 | Хочу все знать | 17 | 16-12-2014 18:39 | |
CMD/BAT - Сравнение контрольных сумм md5 | vodka | Скриптовые языки администрирования Windows | 11 | 09-01-2013 07:11 | |
Прочие - Программы для подсчёта контрольных сумм файлов | ALEXEY_DFD | Программное обеспечение Windows | 14 | 18-11-2011 15:30 | |
C/C++ - Получение контрольных сумм файлов (MD5, и т.д.) и их проверка в Online-сервисах | Drongo | Программирование и базы данных | 49 | 30-08-2010 18:39 |
|