Поступила задача от Руководителя IT с формулировкой. Нужно почистить упоминания от следующих именований ранее существовавших фирм:
- Мастер
- Рога и Копыта
- Валенсия
- Супоград
- Мадагаскар
- Крафт
- Купедон
на сервере базы данных. Любое упоминание о них нужно удалить, что если искать или кто-либо будет искать, по возможности затруднить их обнаружение.
Вот так задача, сперва подумал Я.
Мое решение сводится к следующим шагам от и до исполняющих мое видение данного процесса.
Шаг №1:
Создаю групповую политику и нацеливаю ее через WMI
—запросы на подсеть VLAN 9 (192.168.9.0/24)
где у меня располагаются все сервера компании. И не важно кто на них заходит, Domain Users
или Domain Admins.
WMI Filters:
Name: W (VLAN 9)
Namespace: root\CIMv2
Query: Select * From Win32_IP4RouteTable Where (Mask = '255.255.255.255' AND (Destination Like '192.168.9.%'))
GPO:
Name: GPO_Servers_Clean
Location: ekzorchik.local
Security Filtering: Authenticated Users
WMI Filtering: W(VLAN 9)
Содержимое политики
User Configuration – Policies – Administrative Templates – Start Menu and Taskbar
Clear history of recently opened documents on exit: Enabled
Clear the recent programs list for new users: Enabled
Clear history of tile notifications on exit: Enabled
Turn off user tracking: Enabled
Недавние документы в которых хранятся упоминания об открываемых файлах/путях – это:
C:\Users\ВАШЕ_ИМЯ_УЧЕТНОЙ_ЗАПИСИ\AppData\Roaming\Microsoft\Windows\Recent\
Шаг №2:
Так, данной политикой выше я буду очищать у авторизуемых, а как быть с теми кто допустим уже не работает, а упоминания все еще есть. В этом случае нужен скрипт который пробежится по всем C:\Users\<username>
и подчистит.
Ниже batch
файл который поможет мне в этом: recent.bat
который я запускаю через Win + X – Command Prompt (Admin)
C:\Windows\system32>cd /d c:\Scripts
c:\Scripts> recent.bat
for /f "delims=;" %%A in ('dir c:\users/ad /b^|findstr /v /i "default administrator Public USR1CV8 SQLSERVERAGENT SQLTELEMETRY SQLSERVER$ SQLAGENT$ MSSQLFDLauncher MSSQLSERVER"^|findstr /v /c:"All Users"') do call :function %%A goto :eof :function set user=%1 del /F /Q C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Recent\* del /F /Q C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\* del /F /Q C:\Users\%user%\AppData\Roaming\Windows\Recent\CustomDestinations\* goto :eof
Шаг №3:
Поиск через FreeCommander
показал, что упоминания присутствуют еще в C:\Program Files\1cv8\srvinfo\reg_1541\268c5b1f-ad4c-4ce8-93f4-a9e2ef61694e\1Cv8Log\*.lgp
файлах. В этом случае я поступил так (on srv-db1: SQL Server + Кластер 1С
):
Win + X – Command Prompt (Admin)
C:\Windows\system32> net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
затем в каталоге C:\Program Files\1cv8\srvinfo\reg_1541\
выделил все папки вида 268c5b1f-ad4c-4ce8-93f4-a9e2ef61694e
и удалил их.
Обязательно нужно оставить:
1CV8Clst.lst
rescntsrv.lst
1CV8Clsto.lst
А после запускаю
C:\Windows\system32> net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Шаг №4:
Удалить неиспользуемые профили в системе
Шаг №5:
Далее нужно удалить корзину с любых логических дисков в системе:
Win + X – Command Prompt (Admin)
C:\Windows\system32>rd /s /q C:\$Recycle.bin
C:\Windows\system32>rd /s /q d:\$Recycle.bin
Шаг №6:
Далее нужно свободное место перезатереть
Win + X – Command Prompt (Admin)
C:\Windows\system32> cipher /w:C
Для запуска процедуры очистки пустого дискового пространства необходимо запустить утилиту с ключом /W
cipher.exe /W:<каталог>
где в качестве директории может быть указана любая папка — все равно при своей работе программа перезаписывает неиспользуемые данные на всем томе. По этой причине будьте готовы к тому, что работа утилиты может затянуться на весьма продолжительное время, особенно при больших объемах свободного дискового пространства. Кроме того, Microsoft
рекомендует не злоупотреблять применением комбинации cipher.exe /W
и ограничиваться лишь однократной очисткой диска.
На заметку: Утилита cipher.exe бесполезна, даже если файлы, каталоги были удалены, а она отработала успешно, все равно через rStudio можно увидеть именование удаленных файлов и каталогов. А это недопустимо.
Шаг №7:
И перезатереть через утилиту sdelete
содержимое свободного места на диске, чтобы никто не смог восстановить удаленные файлы на диске.
https://download.sysinternals.com/files/SDelete.zip
c:\Script>sdelete64.exe -c -p 2 c:
Работает, что после последующего запуска утилиты rStudio удаленные файлы не идентифицируются. Также есть смысл оформить как bat файл:
rd /s /q C:\$Recycle.bin rd /s /q d:\$Recycle.bin c:\sdelete\sdelete.exe -c -p 3 -z c:
Шаг №8:
После проверяю, все также через FreeCommander
путем поиска упоминания и через утилиту rStudio
что можно восстановить и читаемое ли это будет.
Исполняемые файлы можно скачать с моего OwnCloud
по ссылке
:
Итого я решил поставленную задачу как я ее видел и это успех.
На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.