Blog of Khlebalin Dmitriy

(Записки сисадмина…)

При входе в систему, завершается сеанс в Windows XP.

На днях столкнулись со следующей проблемой на одном из компов, при том отключение от сети прочие манипуляции оказались бесполезны. Итак о проблеме…

При входе в систему, сразуже завершается сеанс. Далее предлагается выбрать пользователя и войти – но при любой попытке войти в ситему – “Загрузка личных настороек …” и сразу “Сохранение ….” и завершение сеанса – в итоге не возможно войти в сисиему и сделать откат на предыдущую контрольную точку…

Возможные решения

Проверьте параметр в реестре:

Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]

“Userinit”=”C:\WINDOWS\system32\userinit.exe,”

Значение должно быть именно таким, с запятой в конце (буква системного диска может отличаться).
Также убедитесь в наличии файла Userinit.exe в папке \WINDOWS\system32

Удалите этот раздел (если существует):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\userinit.exe

Или второй более на мой взгляд трудоемкий вариант решения

  • воспользоваться Hirrens Boot CD например
  • если компьютер в локальной сети (и система грузится хотя бы до экрана приветствия), подключиться через сетевой реестр с другого компа (Regedit -> меню Файл -> Подключить сетевой реестр);
  • из параллельно установленной (на другом разделе) системы.

Пример редактирования Hirrens Boot или параллельно установленной системы:

  1. запустить Regedit
  2. установить указатель на HKEY_LOCAL_MACHINE
  3. меню Файл -> Загрузить куст -> указать папку с рухнувшей системой \WINDOWS\system32\config, открыть файл software
  4. задать имя куста, например SFT
  5. зайти в раздел HKEY_LOCAL_MACHINE\SFT\Microsoft\Windows NT\CurrentVersion\Winlogon и восстановить параметр Userinit
  6. меню Файл -> Выгрузить куст

Собственно на этом проблема решена…

Всем удачной работы!!!

22.05.2012 Опубликовано | ms windows_xp | Добавить комментарий

Процессы и порты Windows.

Как определить каким процессом (программой) занят порт?

Информация.
    При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: “Извините, но предпочитаемый порт номер <такой то> занят!”. И самое интересное программа не говорит чем или кем занят порт. Обычно это бывают вирусняки.


Как определить каким процессом (программой) занят порт.
1. В меню “Пуск” выберите пункт “Выполнить“;
2. В поле “Открыть” наберите команду cmd и нажмите кнопку “ОК”;

Откроется окно командной строки, примерно такого вида:

3. Наберите команду netstat -a -n -o и нажмите кнопку "Ввод" (Enter) на клавиатуре;

Результатом выполнения данной команды, должен быть список всех активных подключений, с ip-адресами и номерами портов.

или вот так Netstat -a -n -o –b

4. Теперь в колонке “Локальный адрес”, находим нужный нам порт и записываем его идентификатор в колонке”PID”;

Например порт номер 80, его идентификатор 440.

5. Снова открываем меню “Пучк” и выбираем пункт “Выполнить“;
6. В поле “Открыть” вводим команду  taskmgr и нажимаем кнопку “ОК”;
7. В окне “Диспетчер задач Windows” переходим на вкладку “Процессы“;
8. В главном меню открываем пункт “Вид” и выбираем пункт “Выбрать столбцы…“;
9. В окне “Выбор столбцов” находим пункт “Идентиф. процесса (PID)” и ставим рядом с ним галочку;
10. Нажимаем кнопку “ОК”;
11. Теперь в окне “Диспетчер задач Windows“, нажимаем на заголовок столбца “PID”, для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце “Имя образа“, смотрим какой процесс занимает наш порт;

В нашем случаи это Apache.exe

Далее если процесс подозрителен, можем его благополучно “пристрелить” через диспетчер задач (обладая правами администратора) или через консоль (опять же, обладая правами администратора) командой Taskkill. Синтаксис ниже:

taskkill [/s компьютер] [/u домен\пользователь [/p пароль]]] [/fi имя_фильтра] [/pid код_процесса]|[/im имя_образа] [/f][/t] 

Параметры
/s компьютер
Указывает имя или IP-адрес удаленного компьютера (не используйте обратную косую черту). По умолчанию используется локальный компьютер.
/u домен\пользователь
Выполнение команды с разрешениями учетной записи пользователя, который указан как пользователь или домен\пользователь. По умолчанию используются разрешения текущего вошедшего пользователя компьютера, с которого поступила эта команда.
/p пароль
Определяет пароль учетной записи пользователя, заданной параметром /u.
/fi имя_фильтра
Задает типы процессов, которые следует завершить и не следует. Допустимыми именами фильтров, операторами и значениями являются следующие. Имя Операторы Значение
Hostname eq, ne Любая допустимая строка
Status eq, ne RUNNING|NOT RESPONDING
Imagename eq, ne Любая допустимая строка
PID eg, ne, gt, lt, ge, le Любой положительное число
Session eg, ne, gt, lt, ge, le Любой действительный номер сеанса
CPUTime eg, ne, gt, lt, ge, le Допустимое время в формате чч:мм:сс. Компоненты мм и сс должны иметь значения от 0 до 59, а чч может быть любым значением числа без знака
Memusage eg, ne, gt, lt, ge, le Любое целое число
Username eq, ne Любое действительное имя пользователя ([домен\]пользователь).
Services eq, ne Любая допустимая строка
Windowtitle eq, ne Любая допустимая строка

/pid код_процесса
Указывает код процесса, который необходимо завершить.
/im имя_образа
Указывает имя образа процесса, который необходимо завершить. Используйте подстановочный знак (*) для указания всех имен образа.
/f
Указывает, что процесс(ы) должен быть принудительно завершен. Этот параметр не действует для удаленных процессов, все удаленные процессы завершаются принудительно.
/t
Задает завершение всех дочерних процессов вместе с родительским, такое действие обычно известно как уничтожение дерева.
/?
Отображает справку в командной строке.
Примечания
Подстановочный символ (*) принимается только при указании вместе с фильтрами.
Завершение удаленных процессов всегда выполняется принудительно независимо от указания параметра /f.
Указание имени компьютера в качестве фильтра HOSTNAME приведет к завершению работы и остановке всех процессов.
Используйте команду tasklist для определения кода завершаемого процесса.
Команда taskkill является заменой средству Kill.
Примеры
Далее приведены примеры использования команды taskkill:

taskkill /pid 1230 /pid 1241 /pid 1253
taskkill /f /fi “USERNAME eq NT AUTHORITY\SYSTEM” /im notepad.exe
taskkill /s srvmain /f /im notepad.exe
taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi “IMAGENAME eq note*” /im *
taskkill /s srvmain /u maindom\hiropln /fi “USERNAME ne NT*” /im *
taskkill /f /fi “PID ge 1000″ /im *

Форматирование
Формат Значение
Курсив Данные, которые должен ввести пользователь
Полужирный шрифт Элементы, которые следует вводить точно, как показано
Пропуск (…) Параметры могут повторяться несколько раз в командной строке
В квадратных скобках ([]) Необязательные элементы
В фигурных скобках ({}); варианты разделены вертикальной чертой (|). Пример: {четные|нечетные} Набор значений, из которого можно выбрать только одно значение
Шрифт Courier Текст кода или выхода программы

Всем удачной работы !!!

19.04.2012 Опубликовано | ms windows_xp | Комментарии отключены

Отключить NumLock при загрузке системы.

Часто при установке операционной системы на ноутбук, после загрузки системы автоматически включается NumLock. Это в основном происходит, когда используется не совсем стандартная мобильная платформа (в моем случае это был Windows XP установленный на  «мой любимый» ноут Sony Vayo, на который драйвера под ХР отсутствуют в принципе). Но есть еще одно существенное неудобство: при вводе пароля, например. При автоматически включенном NumLock набор символов отличается, но пользователь об этом и не подозревает продолжая раз за разом вводить свой пароль, но система его не пускает. Постоянно вводить при включении ноута перед тем как набрать пароль FN+ NumLock, тоже не вариант, да и не каждый как оказалось ноут позволяет это сделать.
Отключение NumLock  в BIOS как правило не помогает (да и не было этой возможности в БИОСЕ данной модели).
Для определения базового статуса клавиши NumLock для текущего пользователя предназначена запись в системном реестре

HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators
Запустите редактор системного реестра Для смены статуса необходимо:

regedit

Перейдите в раздел

HKEY_USERS\.DEFAULT\Control Panel\Keyboard

Дважды щелкните на записи

InitialKeyboardIndicators

Присвойте записи значение и щелкните на кнопке OK

Закройте редактор системного реестра

Перезагрузите ПК.

Вот вроде бы такая незначительная проблема, может порой поставить в некий тупик. Надеюсь было полезно!

22.11.2011 Опубликовано | ms windows_xp | Комментарии отключены

Follow

Get every new post delivered to your Inbox.

Join 33 other followers