Позднее Ctrl + ↑

поиск пользователей с заданным паролем в домене

Представьте ситуацию: новые пользователи заводятся в домен автоматически с заранее известным паролем, например password. Т. е. политика сложности пароля позволяет использовать простые пароли, хоть 111111. Смена пароля лежит на совести пользователя, а значит — не меняется. С помощью данного vbs-скрипта можно проверить какие пользователи используют словарные пароли

Dim adoCommand, adoConnection, strBase, strFilter, strAttributes 
Dim objRootDSE, strDNSDomain, strQuery, adoRecordset 
Dim strUser, strPassword, objDomain, objNS 
Dim iplus, iall 
Dim fso, f1 
Dim WshShell, Path 

Const ADS_SECURE_AUTHENTICATION = &H1 
Const ADS_USE_ENCRYPTION = &H2 

Set fso = CreateObject("Scripting.FileSystemObject") 
Set f1 = fso.CreateTextFile("c:\testfile.txt", True) 
iplus = 1 
iall = 1 
Set objNS = GetObject("LDAP:") 
strPassword = InputBox("Введите пароль для проверки") 
Set adoCommand = CreateObject("ADODB.Command") 
Set adoConnection = CreateObject("ADODB.Connection") 
adoConnection.Provider = "ADsDSOObject" 
adoConnection.Open "Active Directory Provider" 
adoCommand.ActiveConnection = adoConnection 

Set objRootDSE = GetObject("LDAP://RootDSE") 
strDNSDomain = objRootDSE.Get("defaultNamingContext") 
strBase = "<LDAP://" & strDNSDomain & ">" 

strFilter = "(&(objectCategory=person)(objectClass=user))" 
strAttributes = "sAMAccountName" 
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree" 
adoCommand.CommandText = strQuery 
adoCommand.Properties("Page Size") = 100 
adoCommand.Properties("Timeout") = 30 
adoCommand.Properties("Cache Results") = False 

Set adoRecordset = adoCommand.Execute 
Do Until adoRecordset.EOF 
    strUser = adoRecordset.Fields("sAMAccountName").Value 
    On Error Resume Next 
    Set objDomain = objNS.OpenDSObject("LDAP://" & strDNSDomain, _ 
        strUser, strPassword, ADS_SECURE_AUTHENTICATION) 
    If (Err.Number = 0) Then 
        On Error GoTo 0 
   f1.WriteLine(iplus & " User : " & strUser & vbTab & vbTab & " Пароль : '" & strPassword & "'") 
   iplus = iplus + 1 
    End If 
    On Error GoTo 0 
    adoRecordset.MoveNext 
   iall = iall + 1 
Loop 

f1.WriteLine("Всего проверено " & iall & " пользователей") 
f1.Close 
adoRecordset.Close 
adoConnection.Close 

Set WshShell = WScript.CreateObject("WScript.Shell") 
On Error Resume Next 
Path = "notepad c:\testfile.txt" 
WshShell.Run Path

lifehack для windows или как создать пользователя не заходя в систему

» — Деда, а ты сколько в войну сбил самолетов?

  • Три, внучек. Хотя как «сбил» — недозаправил»

Приходит как-то раз ко мне ноутбук Sony Vaio из новых. Жалуется на жизнь и хочет все начать с чистого листа, т. е. восстановиться из скрытого раздела. Казалось бы что может быть проще. Волшебная кнопочка Assist и понеслась. Но через некоторое непродолжительное время пациент выплюнул ошибку «не удалось завершить процесс установки» и кнопочку ok. По нажатию «ок» уходит в ребут.

Казалось бы что может быть проще — еще раз нажмем «Assist» и повторим операцию, ан нет — не работает кнопочка... Снимаем процесс — audit.exe, оказывается windows установщик считает что установился не полностью и проверить себя не может, хотя система полностью рабочая. После завершения вышеозначенного процесса успешно запускается оболочка, но после перезагрузки картина повторяется.

Гуглим. Объясняем через реестр, что система таки установлена до конца, проверять ничего не надо и давай уже работать. Ок, говорит система, вот у меня два пользователя: Administrator и Гость; первый отключен, а второй бесправен. Не беда, вспомним старый лайвхак:

Берем установочный диск с windows 7. После отрисовки графического инсталлятора жмем Shift+F10 попадаем в шелл:

D:\
copy D:\Windows\system32\sethc.exe D:\Windows\system32\sethc.exe.old
copy D:\Windows\system32\cmd.exe D:\Windows\system32\sethc.exe

отменяем установку и ребутим машинку. И вот перед нами знакомое приглашение windows 7, но теперь у нас есть бэкдорчик) Жмем shift 5 раз и, О чудо!, открывается шелл. Дальше дело техники:

net user Administrator /active:yes
net user User Password /add
net localgroup //Получим список групп и найдем как называется группа админов Administrators или Администраторы
net localgroup "Название_группы_админов" User /add
shutdown -r -t 0 -f

После перезагрузки логинимся либо под вновь созданной учеткой User либо под админом и видим, что винда все-таки встала коряво....

Мораль: гуглим, Alt+f10 при загрузке — recovery mode для Sony Vaio. Повторяем процесс восстановления. На этот раз все гладко. Теперь ясно где был «поворот не туда»

сжатие pdf

Оптимизировать PDF можно легко и просто:

sudo apt-get install ghostscript
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output1.pdf input.pdf

По времени файл размером 56Мб сжат до 11Мб:

real 20m56.141s
user 20m52.912s
sys 0m1.868s

степень сжатия определяется ключом -dPDFSETTINGS

-dPDFSETTINGS=/screen (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook (low quality, 150 dpi images)
-dPDFSETTINGS=/printer (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi images)
-dPDFSETTINGS=/default (almost identical to /screen)

Ранее Ctrl + ↓