11 июня 2013 г.

Скриптостроительство

vlsdtv | 15:52 | Прокоментируй первым!
1. Ключ из реестра

Нужно было посмотреть ключи на лицензионной 7-ке. Сторонних средств под рукой не оказалось  скачивать было лень, поэтому и нашелся данный скриптик на visual basic,в моих загашниках. Он вытягивает ключик из реестра.
Работает под MS Windows XP, 7, 2003.
Делаем copy-paste и сохраняем под удобным именем

If Wscript.Arguments.Count = 0 Then
    strComputer = inputbox("Введите имя компьютера","Enter computer name")
    if strComputer = "" then wscript.quit
Else
    strCOmputer = Wscript.Arguments.Item(0)
End If
Dim Digits (24)
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"
Dim HexBuf (100), HexDigitalPID (15)
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objReg.GetBinaryValue &H80000002, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "DigitalProductId", HexBuf
' Extract Relevant Section of Digital Product ID

StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
  HexDigitalPID (i-StartOffset) = HexBuf(i)
next

' Convert Encoded Product ID to Activation Key

dLen = 29 : sLen = 15
KEYSTRING =""
for i=dLen-1 to 0 step -1
  if ((i + 1) mod 6) = 0 then
    KEYSTRING = KEYSTRING & "-"
  else
    HN = 0
    For N = (sLen -1) to 0 step -1
      Value = ( (HN *2^8 ) Or HexDigitalPID (N))
      HexDigitalPID (N) = Value \ 24
      HN = (Value mod 24)
    next
    KEYSTRING = KEYSTRING & Digits(HN)
  end if
next
KEYSTRING2 = StrReverse (KEYSTRING)

WScript.Echo KEYSTRING2

2. Чтение из AD параметров компьютеров (Имя, дата создания обьекта, дата последнего входа и т.д.)

Читать далее ...

5 июня 2013 г.

Совместная работа с диском ИТС.

vlsdtv | 17:25 | Прокоментируй первым!
Сегодня решал задачку:
Решили разом пять бухгалтеров посмотреть диск ИТС (Диск информационно-технического сопровождения). Видимо замучало их любопытство и все решили быть первыми. Дело даже дошло до повышенных тонов :)
Что там интересного - я не знаю,  я там ничего интересного для себя не нашел.
Большой недостаток - диск содержит защиту от копирования StarForce, что несколько осложняет возможность организации к нему общего доступа в условиях корпоративной сети. Как вариант, можно установить диск в терминальный сервер, и использовать его, подключая клиентов по RDP и т.д... Но тут есть ограничение - одновременно возможна работа только одного экземпляра приложения, в остальных экземплярах защита не определяет корректно диск.
Делаем финт ушами: 
На файловой помойке копируем содержимое диска на жесткий диск (для ускорения работы) и открываем общий доступ к этой папке. Далее, оставляя диск в приводе, заходим в эту папку и запускаем файл IssSrvr.exe. После этого на клиентских машинах подключаем удаленную папку в качестве диска или  просто открываем  и получаем свою локальную копию диска ИТС. Количество одновременных подключений вроде как неограниченно (по крайней мере бухи работали). В итоге все довольны.
Недостаток решения - на сервере все время работы с диском должна быть запущенна сессия с исполняемым IssSrvr.exe.


Читать далее ...

3 июня 2013 г.

Ping с временной меткой на каждый пакет

vlsdtv | 15:32 | Прокоментируй первым!
Потери пакетов всегда критичны для нормальной работы. Посему хорошо использовать такой скрипт, который позволяет сохранить в лог-файл результат работы команды ping. Особенность -  в лог-файле напротив результата прохождения каждого пакета имеется временная метка.
Скрипт может быть полезен для диагностики и анализа проблем в сети.
17:56:48 
10.163.11.1: число байт=32 время=1мс TTL=255
17:56:49 
10.163.11.1: число байт=32 время=1мс TTL=255
17:56:50 
10.163.11.1
: число байт=32 время=1мс TTL=255
...
Создаем файл pingtime.vbs со следующим содержимым:

option explicit
' conHost -- адрес хоста для слежения
' conCheckInterval -- временной интервал
const conHost = "
10.163.11.1", conCheckInterval = 1000
' создаём объект:
dim soWshShell : set soWshShell = CreateObject("WScript.Shell")
WScript.Quit Main()
function WriteLog(strText)
WScript.Stdout.WriteLine FormatDateTime(Time(), vbLongTime) & " " & strText
end function
function GetHostStatus(strHost)
dim oPing : set oPing = soWshShell.Exec("ping -n 1 " & strHost)
dim strOut : strOut = ""
do
WScript.Sleep 100
if not oPing.Stdout.AtEndOfStream then
strOut = strOut & oPing.Stdout.ReadAll
end if
loop until oPing.Status = 1
dim oRegExp : set oRegExp = new RegExp
oRegExp.IgnoreCase = true
oRegExp.Pattern = "[^ ]+:.+TTL=[^\r\n]+"
dim oMatches : set oMatches = oRegExp.Execute(strOut)
if oMatches.Count > 0 then
GetHostStatus = oMatches(0).Value
else
GetHostStatus = "Inaccessible!.."
end if
end function
function Main()
do
WriteLog(GetHostStatus(conHost))
WScript.Sleep(conCheckInterval)
loop
end function

 
Запускать так: cscript //nologo pingtime.vbs>pingtime.log
Результат работы искать в файле pingtime.log.
Читать далее ...

30 мая 2013 г.

Добавление статического маршрута с помощью Netsh add route

vlsdtv | 13:31 | Прокоментируй первым!
Спрашивали накануне, как  добавить статический маршрут в Windows 2008.
Отвечаю.
При использовании команды "route add" в Windows Server 2008 не всегда обеспечивается постоянство маршрута. Даже если вы используете /p - маршруты могут пропадать. Лучше всего использовать команду netsh для добавления статического маршрута.
Для начала узнаем имя или id нужного нам интерфейса.
netsh interface ipv4 show interface
Добавляем маршрут.
netsh interface ipv4 add route 10.10.10.0/24 (Сеть) "Id или Имя" 192.168.0.2 (Шлюз) (По умолчанию маршрут будет постоянный) Для временного маршрута (до перезагрузки)использовать параметр store=active.
Просмотр добавленного маршрута.
netsh interface ipv4 show route




P.$ Может командой route  и проще прописывать, но "разнообразие" не помешает :)
Читать далее ...

Event ID - для мониторинга.

vlsdtv | 13:27 | Прокоментируй первым!
Знать для сисадмина крайне необходимо 

Контроллеры доменов

  • 675 или 4771 - (Аудит событий входа в систему) Событие 675/4771 на контроллере домена указывает на неудачную попытку войти через Kerberos на рабочей станции с доменной учетной записью. Обычно причиной этого является несоответствующий пароль, но код ошибки указывает, почему именно аутентификация была неудачной. Таблица кодов ошибок Kerberos приведена ниже.
  • 676, или Failed 672 или 4768 - (Аудит событий входа в систему) Событие 676/4768 логируется для других типов неудачной аутентификации. Таблица кодов Kerberos приведена ниже. В Windows 2003 Server событие отказа записывается как 672 вместо 676.
  • 681 или Failed 680 или 4776 - (Аудит событий входа в систему) Событие 681/4776 на контроллере домена указывает на неудачную попытку входа в систему через NTLM с доменной учетной записью. Код ошибки указывает, почему именно аутентификация была неудачной. Коды ошибок NTLM приведены ниже. В Windows 2003 Server событие отказа записывается как 680 вместо 681.
  • 642 или 4738 - (Аудит управления учетными записями) Событие 642/4738 указывает на изменения в указанной учетной записи, такие как сброс пароля или активация деактивированной до этого учетной записи. Описание события уточняется в соответствие с типом изменения.
  • 632 или 4728; 636 или 4732; 660 или 4756 - (Аудит управления учетными записями) Все три события указывают на то, что указанный пользователь был добавлен в определенную группу. Обозначены Глобальная (Global), Локальная (Local) и Общая (Universal) соответственно для каждого ID.
  • 624 или 4720 - (Аудит управления учетными записями) Была создана новая учетная запись пользователя
  • 644 или 4740 - (Аудит управления учетными записями) Учетная запись указанного пользователя была заблокирована после нескольких попыток входа
  • 517 или 1102 - (Аудит системных событий) Указанный пользователь очистил журнал безопасности

Вход и выход из системы (Logon/Logoff)

  • 528 или 4624 — Успешный вход в систему
  • 529 или 4625 — Отказ входа в систему – Неизвестное имя пользователя или неверный пароль
  • 530 или 4625 Отказ входа в систему – Вход в систему не был осуществлен в течение обозначенного периода времени
  • 531 или 4625 — Отказ входа в систему – Учетная запись временно деактивирована
  • 532 или 4625 — Отказ входа в систему – Срок использования указанной учетной записи истек
  • 533 или 4625 — Отказ входа в систему – Пользователю не разрешается осуществлять вход в систему на данном компьютере
  • 534 или 4625 или 5461 — Отказ входа в систему – Пользователь не был разрешен запрашиваемый тип входа на данном компьютере
  • 535 или 4625 — Отказ входа в систему – Срок действия пароля указанной учетной записи истек
  • 539 или 4625 — Отказ входа в систему – Учетная запись заблокирована

Типы входов в систему (Logon Types)

  • 2 — Интерактивный (вход с клавиатуры или экрана системы)
  • 3 — Сетевой
  • 4 — Пакет (batch) (например, запланированная задача)
  • 5 — Служба (Запуск службы)
  • 7 — Разблокировка (например, необслуживаемая рабочая станция с защищенным паролем скринсейвером)
  • 8 — NetworkCleartext (Вход с полномочиями (credentials), отправленными в виде простого текст. Часто обозначает вход в IIS с “базовой аутентификацией”)
  • 9 — NewCredentials
  • 10 — RemoteInteractive (Терминальные службы, Удаленный рабочий стол или удаленный помощник)
  • 11 — CachedInteractive (вход с кешированными доменными полномочиями, например, вход на рабочую станцию, которая находится не в сети)

Коды отказов Kerberos

  • 6 — Имя пользователя не существует
  • 12 — Ограничение рабочей машины; ограничение времени входа в систему
  • 18 — Учетная запись деактивирована, заблокирована или истек срок ее действия
  • 23 — Истек срок действия пароля пользователя
  • 24 — Предварительная аутентификация не удалась; обычно причиной является неверный пароль
  • 32 — Истек срок действия заявки. Это нормальное событие, которое логируется учетными записями компьютеров
  • 37 — Время на рабочей машины давно не синхронизировалось со временем на контроллере домена

Коды ошибок NTLM

  • 3221225572 — C0000064 — Такого имени пользователя не существует
  • 3221225578 — C000006A — Верное имя пользователя, но неверный пароль
  • 3221226036 — C0000234 — Учетная запись пользователя заблокирована
  • 3221225586 — C0000072 — Учетная запись деактивирована
  • 3221225583 — C000006F — Пользователь пытается войти в систему вне обозначенного периода времени (рабочего времени)
  • 3221225584 — C0000070 — Ограничение рабочей станции
  • 3221225875 — C0000193 — Истек срок действия учетной записи
  • 3221225585 — C0000071 — Истек срок действия пароля
  • 3221226020 — C0000224 — Пользователь должен поменять пароль при следующем входе в систему
Читать далее ...

Очистка кэша IE из консоли cmd

vlsdtv | 13:22 | Прокоментируй первым!
Полезно
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1 – очистка журнала посещённых веб-страниц;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 – удалить cookie (куки);
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 – очистить кэш браузера;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16 - очистка данных веб-форм;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32 - удалить сохранённые пароли;
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 – удаление всей пользовательской информации из браузера;

Читать далее ...

Search