четверг, 15 декабря 2011 г.

Как перезагрузить компьютеры по сети

Команда удалённой перезагрузки очень простая:

shutdown -r -f -t 0 -m \\имя-или-айпи-адрес-компа.

например, чтобы перезагрузить server1 надо выполнить
shutdown -r -f -t 0 -m \\server1

параметры:
-r означает что компьютер будет перезагружен (если поставить -s то будет выключен)
-f означает принудительное завершение открытых программ.
-t 0 означает время ожидания перед перезагрузкой в секундах, ноль - то есть нисколько не ждать.
-m имя - указание удалённого компьютера в сети, на который посылается команда. Если не указан этот ключ то команда адресуется к локальному компьютеру

Просмотреть хелп команды можно набрав shutdown /?

Теперь ВАЖНЫЙ момент: у текущего пользователя может не хватить прав доступа на выключение соседнего компьютера или сервера. Это лечится вот какой командой:

runas /env /user:Admin1 /savecred "shutdown -r -f -t 0 -m \\COMP"

Команда runas предназначена для запуска процессов от имени другого пользователя.
Вместо COMP надо подставить имя компьютера, вместо Admin1 - имя юзера, имеющего права администратора на компьютере COMP и как минимум права юзера на компьютере, с которого осуществляется вызов команды. Разумеется, и на том и на другом компьютере пароль для этого имени должен быть одинаковым.
-Самый простой вариант - использовать одно имя администратора и один пароль для всех компьютеров, тогда запутаться становится совершенно невозможно.
-Самый сложный вариант - если не хочется раздавать направо-налево права администратора, тогда можно создать на каждом компьютере специального юзера, дать ему ограниченные права, достаточные только для перезагрузки компьютеров - но это задачка скорее для сисадмина, нежели для рядового пользователя.
-Если компьютеры включены в домен, то проще всего во всех командах использовать учётку доменного администратора, либо использовать специального доменного юзера с правами на перезагрузку любого компьютера.

-Поясняю параметр /savecred , он предназначен для того, чтобы не требовалось вводить пароль каждый раз. Достаточно ввести пароль один раз, после этого система его запоминает, а в следующий раз команда выпонится уже без запроса пароля, на основе запомненных данных.

Вцелом скрипт массовой перезагрузки может выглядеть примерно так:

runas /env /user:Admin1 /savecred "shutdown -r -f -t 0 -m \\COMP1"
runas /env /user:Admin2 /savecred "shutdown -r -f -t 0 -m \\COMP2"
runas /env /user:Admin3 /savecred "shutdown -r -f -t 0 -m \\COMP3"
...
и так далее, по количествку компов.

Однако, при таком способе команды будут вызываться последовательно, то есть команда на перезагрузку последнего компьютера будет подана гораздо позже чем команда на перезагрузку первого компьютера в списке. Это тоже можно вылечить. Достаточно дописать в начале каждой команды магическое слово start и тогда все команды запустятся параллельно. То есть итоговый скрипт тотальной перезагрузки всех компьютеров будет выглядеть примерно так:
start runas /env /user:Admin /savecred "shutdown -r -f -t 0 -m \\COMP1"
start runas /env /user:Admin /savecred "shutdown -r -f -t 0 -m \\COMP2"
start runas /env /user:Admin /savecred "shutdown -r -f -t 0 -m \\COMP3"


p.s. иногда встречаются такие версии винды, которые упорно не желают воспринимать команду перезагрузки по сети. Чтобы это вылечить надо, во-первых, проверить настройку безопасности, которая отвечает за правила сетевой авторизации пользователей. В XP найти это можно так: открываем Control Panel -> Administrative tools -> Local Security Policy
Там ищем такую настройку:
Local Policies -> Security Options ->
Network access: Sharing and security model for local accounts
там надо включить режим "Classic" вместо "Guest only".
(по русски - Паналь управления -> Администрирование
Локальные параметры безопасности
Локальные политики -> Параметры безопасности ->
Сетевой доступ: модель совместного доступа... - здесь по умолчанию включено "Гостевая", надо включить "Обычная".
(если компьютеры в домене то делать это скорее всего не потребуется).

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

Решив проблему доступа через локальную сеть все остальные препятствия можно преодолеть через использование утилиты psexec. Команда на удалённую перезагрузку в этом случае будет выглядеть так:

psexec \\IP -u Administrator -p password shutdown -r -f -t 0
Мне эта команда и помогла

Вместо IP подставляем IP-адрес компьютера, который отправляем в перезагрузку. Вместо Administrator и password - подставляем соответственно логин и пароль администратора того компьютера.

p.p.s. Волшебную утилиту psexec можно скачать прямо с майкрософта:
http://technet.microsoft.com/ru-ru/sysinternals/bb897553(en-us).aspx

p.p.p.s. Ещё можно по аналогии создать менее злую командочку, которая вместо перезагрузки просто автоматически лочит все компы. Тоже очень полезно в случае проверки - залоченость компов даёт некоторое время на принятие дальнейших решений. Если "волки" не знают паролей то для входа им понадобится либо выпытывать пароли у юзеров, либо требовать разлочить систему. А это всё драгоценное время, за которое можно принять какие-то меры.
Чтобы залочить комп по сети, достаточно выполнить следующую командочку (опять же с помошью утилиты psexec):

psexec \\IP -u Administrator -p password rundll32.exe user32.dll,LockWorkStation

Можете поиграться с залочиванием компьютера своего соседа
Если компьютеры находятся в домене, а вы имеете права администратора домена, попробуйте выполнить:
FOR %I IN (список) DO start psexec \\сетка.%I rundll32.exe user32.dll,LockWorkStation
где "сетка" - это начальные цифры IP-адреса вашей локальной сети, например, 192.168.0
ну а "список" - это последние цифры IP-адресов, через запятую.
Например, чтобы залочить компютеры с IP-адресами 192.168.0.5, 192.168.0.20 и 192.168.0.55 надо написать так:
FOR %I IN (5,20,55) DO start psexec \\192.168.0.%I rundll32.exe user32.dll,LockWorkStation

Кстати, есть неплохой способ рассылать текстовые оповещения на экраны соседних компьютеров, используя сочетание psexec и msg.

FOR %I IN (список) DO start psexec \\сетка.%I msg * "Текстовое сообщение"

например,
FOR %I IN (5,11) DO start psexec \\192.168.0.%I msg * "Можете входить в 1С (Администратор)"
будет послано сообщение на компьютеры 192.168.0.5 и 192.168.0.11

-можно задать параметр /TIME:секунды - это время, в течение которого сообщение показывается, потом оно исчезает. Если пользователь нажимает "ОК" то сообщение закрывается сразу. Есть смысл задавать параметр TIME, чтобы сообщение не висело дольше своего устаревания. К тому же, пока не закрыто предыдущее сообщение, следующие сообщения не выводятся, и если на том конце сидит "тупой юзер", который игнорирует сообщение, то он не получит следующее сообщение, пока не нажмёт ОК на предыдущем.

-даже если компьютер залочен, сообщение всё равно выскочит на экран. Если на экране крутится скринсейвер - поверх него выскочит!

-запуская msg * (со звездочкой) мы отправляем сообщение "во все сессии". Например, если в качестве IP-адреса указан адрес терминального сервера, на котором сидит параллельно несколько человек, то сообщение получит каждый.

-если компьютеры не в домене, придётся явным образом указывать логин-пароль административной учетки того компа, на который отправляется сообщение, то есть
psexec \\ip -u Administrator -p password msg * /TIME:600 Сообщение

p.s. Раньше для отправки сообщений на соседние компьютеры можно было использовать net send ( работает на базе службы messenger ), но сейчас эта служба по умолчанию выключена, видимо из-за спама.
А для выполнения msg служба messenger не требуется.

вторник, 1 ноября 2011 г.

Подготовка к установке WSUS

   Перед установкой WSUS следует подготовить сервер. Мы будем использовать Windows Server 2008, однако с небольшими поправками все сказанное будет справедливо для других версий Windows Server. Что нам понадобится:
  1. IIS 6 или выше,
  2. .NET Framework 2.0 или выше,
  3. Report Viewer Redistributable 2008,
  4.  SQL Server 2005 SP2 Express или выше.
  WSUS может хранить обновления в собственной БД или использовать SQL-сервер, последнее более предпочтительно с точки зрения производительности. Если в вашей сети уже развернут SQL-сервер можно использовать его, иначе вполне подойдет бесплатный SQL Express.
Получить все необходимые компоненты можно на сайте Microsoft:


   При скачивании обращаем внимание на разрядность, для 64-битной ОС скачиваем 64-битные версии продуктов.

   Пока идет скачивание добавим роли сервера. Нам понадобятся Веб-сервер (IIS) и Сервер приложений (в предыдущих версиях Windows Server установите .NET Framework). Сервер приложений устанавливается со значениями по умолчанию, а в Веб-сервере необходимо добавить следующие опции:
  1. ASP.NET
  2. Windows - проверка подлинности
  3. Сжатие динамического содержимого
  4. Совместимость управления IIS6
Добавив необходимые роли, установим Report Viewer и SQL Server c параметрами по умолчанию. Все готово, можно устанавливать WSUS.


Взято лично для меня из статьи: тут

четверг, 20 октября 2011 г.

Ошибка при копировании файлов по сети "Сетевое имя более недоступно"

Ошибка возникала при копировании больших файлов по сети с ресурса на Win 2008 server.  У меня такая проблема возникла при копировании из другой подсети больших файлов. Через пару минут копирования появлялась ошибка: "Невозможно скопировать файл. Сетевое имя более недоступно".

РЕШЕНИЕ


  В журнале событий Win 2008 появилась запись о DoS-атаке: "The server has detected an attempted Denial-Of-Service attack from client \\computer_name, and has disconnected the connection."   

Метод 1


Нужно создать ключ в реестре:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
тип DWORD  --  DisableDos и  присвоить значение 1.
  
Другая ситуация с аналогичной проблемой, однако при этом никаких записей в журнале Win 2008 не появлялось.

Создала аналогичный ключ в реестре и пока все нормально. Файлы копируются. Решение было взято из статьи Microsoft: http://support.microsoft.com/kb/898468 .

Метод 2

Увеличить MaxMpxCt значение для службы сервера. MaxMpxCt — это максимальное количество одновременных сетевых невыполненных запросов, которые разрешены. Значение по умолчанию является 50 в Windows Server 2008. Во избежание этой проблемы следует увеличить. MaxMpxCt значение.

Чтобы сделать это, выполните следующие действия.
 1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип regedit В диалоговом окне Открыть  поле, а затем нажмите кнопку ОК.
 2. Найдите и выделите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
 3. На Редактирование Выберите пункт Новый, а затем нажмите кнопку Значение типа DWORD.
 4. Тип MaxMpxCt имя типа DWORD и нажмите клавишу ВВОД.
 5. Щелкните правой кнопкой мыши MaxMpxCt, а затем нажмите кнопку Изменить.
 6. В Значение данных введите значение в диапазоне от 50 до 65535 и нажмите кнопку ОК

среда, 19 октября 2011 г.

Недостаточные привелегии для удаления или обьект защищен от случайного удаления

При создании учетных записей или подразделений по умолчанию стоит галка "Защитить от случайного удаления". После создания записи это поле не отображается. Для доступа к нему в меню Вид выбираем Дополнительные компоненты - Свойства -  Объект. Снимаем галку с  "Защитить от случайного удаления". Удаляем :)  

Диспетчер очереди печати прекратило работу и было закрыто.

 После такой ошибки пропадают принтеры и не идет печать. Запуск службы через управление, вылетает с ошибкой.

ЛЕКАРСТВО:

Создать cmd cо строчкой  net start spooler и засунуть в автозапуск :)

Пропала языковая панель в Windows Server® 2008 Standard со всеми вытекающими.

После установки АД перестает работать переключение языков и пропадает раскладка клавиатуры.

ЛЕКАРСТВО:
  1. Запускаем Планировщик заданий из меню Пуск - Администрирование. 
  2. В левом раскрывающемся списке находим задание TextServicesFramework, открываем его. 
  3. В меню Вид выбираем пункт - Отобразить скрытые задачи. 
  4. Справа видим скрытое задание MsCtfMonitor - это задание отслеживает работу системной службы текстовой платформы. Нажимаем по нему правой кнопкой мыши и выбираем пункт Включить, потом пункт Запустить. 
  5. ВАЖНО! В свойства задания MsCtfMonitor должна стоять галочка Выполнить с наивысшими правами 
  6. В левом раскрывающемся списке находим задание CertifacteServicesClient, открываем его.  
  7. В меню Вид выбираем пункт - Отобразить скрытые задачи. 
  8. Справа видим скрытые задания SystemTask, UserTask, UserTask-Roam 
  9. Проделываем с ними действия описанные в пункте 4 
  10. Перезагружаем машину.

вторник, 18 октября 2011 г.

Миграция на Windows Server 2008

Встала задача перенести с битой Win2k8 на новый сервер Win2k8.

На сайте Майкрософта есть хорошая документация по этому поводу  http://technet.microsoft.com/ru-ru/library/dd379558(WS.10).aspx , правда если действовать по ней, то нефига не получается.  По крайней мере у меня. (+ заметила пару ошибок в командах, которые они дают). Зато для себя можно узнать много нового и интересного.

После 2х суток мучений и изучения доков, решили попробывать ещё раз. Всё оказалось легко и просто. Даже можно не открывать сайт Майкрософта ибо понимаешь, что там много ненужного да и не совсем правильного.

При миграции по сайту Майкрософта, не создавалось расшаренных каталогов sysvol и netlogon. Собственно АД не хотела без них полноценно функционировать. Если эти каталоги расшарить ручками, то после перезагрузки они пропадали.


РЕШЕНИЕ и сама миграция:

 Создается в реестре параметр "Enable Journal Wrap Automatic Restore" типа DWORD и устанавливается значение 1. Перезапускается служба NTRFS (репликации). Путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters 

Для DNS сервера настраивается разрешение на передачу зон другому домену в лесу.


Далее:
  1.  Отключите регистрацию на внешний сетевой адаптер в многосетевом контроллере домена. Для этого:
       а. Нажмите кнопку Начало, нажмите кнопку Параметры, а затем нажмите кнопку Сеть и удаленный доступ.
       b. Щелкните правой кнопкой мыши вне подключение по локальной сети (LAN) и нажмите кнопку Свойства.
       c. Нажмите кнопку ПРОТОКОЛ TCP/IP, а затем нажмите кнопку Свойства.
       d. Нажмите кнопку Дополнительно, а затем снимите Регистрация DNS для данного подключения флажок.
     
  2.  Функция циклического на DNS-сервере отключена. Для этого:
       a. Нажмите кнопку Начало, нажмите кнопку Параметры, нажмите кнопку   Администрирование, а затем нажмите кнопку DNS.
       b. Откройте окно Свойства для имени DNS-сервера.
       c. Нажмите кнопку Дополнительно на вкладке и выберите команду Очистить Включить циклическое флажок. 
 После всех действий запускаем dcpromo и устанавливаем AD.

Создание дополнительного контроллера домена

Чтобы создать дополнительный контроллер домена
 1. Нажмите кнопку Пуск, выберите команду Выполнить и введите dcpromo /adv, чтобы открыть мастера установки Active Directory с параметром для создания дополнительного контроллера домена из восстановленных архивных файлов.
 2. Прочтите сведения, расположенные на странице Совместимость операционных систем, и нажмите кнопку Далее.
 3  На странице Тип контроллера домена выберите вариант Добавочный контроллер домена в существующем домене и нажмите кнопку Далее.
 4. На странице Копирование данных домена выполните одно из следующих действий.
         a. Выберите вариант Через сеть и нажмите кнопку Далее.
         b. Выберите вариант С помощью восстановленных архивных файлов и введите расположение восстановленных архивных файлов, или нажмите кнопку Обзор, чтобы найти восстановленные файлы, и нажмите кнопку Далее.
 5. На странице Сетевые учетные данные введите имя пользователя, пароль и домен пользователя учетной записи пользователя, которые необходимо применять для данной операции, а затем нажмите кнопку Далее.
Учетная запись пользователя должна являться членом группы «Администраторы домена» для конечного домена.
 6. На странице Папки базы данных и журналов введите расположение, в которое необходимо установить папки базы данных и журналов, либо выберите команду Обзор, чтобы выбрать расположение, и нажмите кнопку Далее. (по умолчанию просто далее)
 7. На странице Общий доступ к системному тому введите расположение, в которое необходимо установить папку Sysvol, либо выберите команду Обзор, чтобы выбрать расположение, и нажмите кнопку Далее.
 8. На странице Пароль администратора для режима восстановления введите и подтвердите пароль, который необходимо назначить данной учетной записи администратора сервера, и нажмите кнопку Далее.
Используйте данный пароль при запуске компьютера в режиме восстановления службы каталогов.
 9. Просмотрите страницу Сводка и нажмите кнопку Далее, чтобы начать установку.
Перезагрузите компьютер. 


 Далее


 1. Смотрим расположение глобального каталога:

ldifde -s %COMPUTERNAME% -d "" -p base -f DCcfg.txt
findstr /i "4.1920 GlobalCatalog" DCcfg.txt

Строка supportedCapabilities: 1.2.840.113556.1.4.1920 указывает на то, что исходный сервер является контроллером домена только для чтения.

Строка isGlobalCatalogReady: TRUE указывает на то, что исходный сервер является сервером глобального каталога.

Строка isGlobalCatalogReady: FALSE указывает на то, что исходный сервер не является сервером глобального каталога.


2. Проверяем роли хозяина операций (FSMO)

Netdom query /domain:<domain> fsmo

Здесь <domain> - это имя домена. Прежде чем начать миграцию, определите, какие роли хозяина операций будут назначены другим компьютерам, а какие перейдут к конечному серверу. 

Передача ролей FSMO

1. Нажмите кнопку Пуск, выберите пункт Выполнить, введите в поле Открыть команду ntdsutil и нажмите кнопку ОК.
2. Введите строку roles и нажмите клавишу ВВОД.
3. Введите строку connections и нажмите клавишу ВВОД.
4. Введите команду connect to server "имя_сервера" и нажмите клавишу ВВОД. Имя_сервера — это имя контроллера домена, которому назначается роль FSMO.
5. Введите команду transfer "роль", где роль — роль, которую требуется передать. Чтобы определить роли, которые могут быть переданы, ознакомьтесь со списком ролей в начале данной статьи или введите команду ? после появления запроса fsmo maintenance и нажмите клавишу ВВОД.
6. После передачи ролей, нажмите q для выхода из консоли.

Ещё раз с помощью команды проверяем кому принадлежат роли FSMO (команда выше).
Выводим исходный сервер из AD с помощью dcpromo и наслаждаемся ;)