4 мая 2012 г.
MSExchange ADAccess Ошибки сервера Exchange 2007 после обновления контроллера домена до Windows 2008 R2
Код ошибки 408 Сервер не отвечает. Узел Sharepoint через ISA-TMG
Избавляемся от ошибки "408 Сервер не отвечает" изменяя метод пересылки запросов ISA/TMG сервера опубликованному Sharepoint.
Долго не знал с какого боку подойти к проблеме. Наблюдалась при доступе к Sharepoint серверу из интернет, т.е. через файрвол TMG, зачастую, при сортировке списка или изменении представления.
Internet Explorer констатировал: "Страница не доступна. Код ошибки: 408. Сервер не отвечает."
Проблема исчезла после изменения правила публикации сервера Sharepoint. "Запросы прокси на опубликованный сайт" установил на "приходят от компьютера Forefront TMG"
Еще отметил, что странички Sharepoint стали загружаться быстрее.
23 мар. 2012 г.
Ошибка TermDD id 50 при удаленном подключении к сеасну на терминальном сервере Windows 2008 R2
Используем "gpedit.msc" для решения поднадоедливой проблемы.
Раньше я уже упоминал аналогичную Error id 50 источника TermDD но на Windows XP. В этот раз проблема появляется после завершения удаленного управления другим сеансом на Windows server 2008 R2. Наблюдаем сообщение "Этот сеанс будет отключен из-за ошибки протокола. Попробуйте повторить попытку подключения к удаленному компьютеру" и отвалившийся терминал. В журнале фиксируется событие:Тип: Ошибка
Источник: TermDD
Код (ID): 50
Компонент "DATA ENCRYPTION" RDP-протокола обнаружил ошибку в потоке протокола и отключил этого клиента.
Решаем:
"Локальная политика безопасности" gpedit.msc -> Котфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Среда удаленных сеансов. Выбираем параметр "Задание алгоритма сжатия данных RDP". И указываем ему значение "Не использовать алгоритм сжатия RDP". Применяем обновленную политику gpupdate /force или перегружаем для надежности.
Чуть больше читаем на сайте поддержки Microsoft: http://support.microsoft.com/kb/976110/ru
1 февр. 2011 г.
Принтер HP печатает user host class job перед каждым заданием
Перед каждым заданием принтер HP печатает дополнительную страницу:
user:
host:
class:
job:
Это печатается “LPD Banner Page”. Отключается на странице дополнительных сетевых настроек самого принтера. Заходим в веб интерфейс настроек принтера: Networking –> TCP/IP Settings –> Advanced –>LPD Banner Page –> Disable
26 янв. 2011 г.
Очистить кеш автозаполнения адресов Outlook
Адреса в организации Exchange давно нет или изменен, а пользователи продолжают слать письма используя автоподстановку адреса в Outlook. Известная история? Мне тоже порядком надоела.
Думал, сам кеш хранится в реестре. Таки нет. Это файл в профиле пользователя *.NK2. Удаляем и забиваем!
Если же есть желание подредактировать автозаполнение адресов, то можно воспользоваться программой NK2Edit.
20 янв. 2011 г.
Непредвиденная ошибка в универсальном драйвере принтера Xerox
“Непредвиденная ошибка в драйвере принтера. Закройте окно драйвера и повторите операцию”. Или ее аналог в английской версии драйвера Xerox:
“An unexpected error occurred in the print driver. Close the current driver window and retry the operation.”
Этим сообщением любовались пользователи терминального сервера при подключении к принтеру Xerox с “Global print driver”-ом. А так как принтеры у меня мапятся автоматически скриптом при входе пользователя на терминальный сервер, то и соответствующее окошко порядком поднадоело. Эта же ошибка выдавалась и при удалении принтера.
Вот дошли руки разобраться... На что надеялись программисты, когда писали программу пользовательского режима, хранящую данные в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Xerox с правом только чтения для непривилегированных юзеров? Ругаться не стал, просто добавил разрешение “полный доступ” для пользователей сервера терминалов. Принтер на том и успокоился.
21 дек. 2010 г.
Не печатает программа OPZ при запуске из сетевой папки.
Перенес программу OPZ “Податкова звітність” с локального диска терминального сервера на сетевую шару. После чего программа продолжала корректно работать под административными правами, но под пользовательскими не формировался документ для печати.
Ошибку удалось вычленить: “… Указанный путь был использован при запуске CMD.EXE в качестве текущей папки. CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.”
Причина – в обработке cmd.exe UNC путей.В этом случае в качестве рабочей устанавливается системная папка вместо каталога программы. Соответственно доступа к ней для записи у пользователя с обычными правами нет.
Решение - в отключении проверки на путь UNC при запуске cmd. Читаем статью MS и устанавливаем в 1 DWORD параметр реестра DisableUNCCheck по пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Command Processor - для х64
Или соответственно для конкретного пользователя:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor
Работает.
15 дек. 2010 г.
Не сохраняется установка языка ввода по умолчанию (раскладка клавиатуры) в терминальном сеансе Windows Server 2003
Решение простое и прячется в реестре.
Сервер – Windows Server 2003 со службой терминалов. Клиент – бездисковая станция, работающая на ThinStation. Устанавливаю язык ввода по умолчанию – русский. Завершаю сеанс, подключаюсь к серверу - язык ввода по умолчанию снова английский. Это стандартное поведение терминальной сессии, когда язык ввода перенаправляется с клиента. На линуксовой машине русского то и в помине не предполагалось.
Как решить? Добавить новый ключ рееста:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\IgnoreRemoteKeyboardLayout (REG_DWORD) со значением 1.
Подробности можно подчерпнуть из статьи Microsoft 924852 “How the "Regional and Language Options" settings in Windows Server 2003 are applied”.
4 окт. 2010 г.
Перенос (мигрирование) Windows из физической среды в виртуальную Hyper-V на 123
Расскажу о простом и эффективном способе переноса Windows системы из физической среды в виртуальную, который я сам оттестировал на Microsoft Hyper-V Server R2 и Microsoft Windows Server 2008 R2. Последним, мигрировавшим таким образом, был контроллер домена Windows Server 2003 SP2.
Конечно, если вы поклонник “правильных” решений, у вас много свободного времени и к тому же вы любитель квестов, то я порекомендую воспользоваться возможностями System Center Virtual Machine Manager с его визардом P2V, Microsoft Virtual Server Migration Toolkit (VSMT) и Automated Deployment Service (ADS), или другими решениями аналогичной задачи.
Я же в последнем случае не рискнул воспользоваться даже утилитой Disk2vhd от Sysinternals а решил сделать все офлайн при помощи проверенного Norton Ghost.
Так вот:
1. Делаем образ диска/системного раздела исходной системы. Как уже сказал, я использую для этого Norton Ghost.
2. Создаем виртуальную машину с диском достаточного размера на шине IDE. (Я, к слову, в рабочей среде использую только диски фиксированного размера)
3. Подключаем вновь созданный диск в хостовой системе, назначаем ему букву. В Windows Server 2008 R2 это можно сделать прямо из Диспетчера сервера/Управление дисками.
В Hyper-V Server R2 для этого придется воспользоваться diskpart-ом. Читаем “DISKPART> help select vdisk” и “DISKPART> help attach vdisk”.
4. Создаем нужных размеров разделы.
5. Делаем загрузочный раздел виртуального диска активным.
6. Помещаем загрузочную запись в MBR виртуального диска. Я использую для этого утилиту “mbrfix”. Читаем соответственно “MbrFix /?”. Если этого не сделать, то виртуальная машина не загрузится с этого диска.
7. Разворачиваем созданный образ раздела/диска. Опять же давно знакомый Norton Ghost нам в помощь.
Казалось бы, что уже можно включать виртуальную машину. Но в большинстве случаев система выпадет в синий экран с ошибкой “STOP: 0x0000007B INACCESSIBLE_BOOT_DEVICE ”. Так происходит, когда в переносимой системе используется не стандартный контроллер IDE. Теорию и практику по этому поводу можно глянуть в базе знаний Microsoft. Соответственно, нужно установить стандартный контроллер IDE вручную и мы продолжаем:
8. Подгрузим куст реестра, отвечающий за стандартный контруллер IDE, в нашу пока еще офлайн систему. Я делаю это следующим образом. В regedit.exe в ветку “HKEY_USERS” в новый раздел “123” загружаю реестр из файла “System32\config\SYSTEM”. В рег файле, созданном под руководством упомянутой статьи делаю массовую замену строки “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet” на “HKEY_USERS\123\ControlSet001”. Импортирую, измененный таким образом рег файл. И выгружаю временный куст “123”.
9. Проверим наличие и если необходимо добавим в папку “%SystemRoot%\System32\Drivers” драйвера: Atapi.sys, Intelide.sys, Pciide.sys, Pciidex.sys. Их можно взять из установочного диска соответствующей версии Windows или файла “%SystemRoot%\Driver Cache\I386\Driver.cab”.
10. Отключим виртуальный диск от хостовой системы.
11. Загружаем виртуальную машину.
Дальше на ваше усмотрение, но я рекомендую также проделать:
1. Сразу же после первой загрузки установить службы интеграции и перезагрузиться.
2. Очистить систему от лишних устройств. Обычно диспетчер устройств не показывает отсутствующие девайсы. Но системная переменная “devmgr_show_nonpresent_devices” со значением “1” заставляет его это делать. Соответственно, установив эту переменную, я выставляю в диспетчере устройств “Вид\Показывать скрытые устройства” и вручную удаляю все не активные девайсы.
На этом этапе перенос Windows из физической среду в виртуальную можно считать завершенным.
28 сент. 2010 г.
Слишком много различных форматов в ячейке Excel

3 авг. 2010 г.
Скрипт для переименования локальной учетной записи Windows (Rename Local User Script)
Случилось так, что на сервере со свежеустановленной Windows отсутствовал русский язык в системе. При этом имя единственного пользователя звучало как "Администратор". Ситуация усугублялась еще и тем, что Windows был простым Hyper-V Server-ом без mmc консолей. Благо, хоть терминальный доступ остался. Вот так казус.
В общем, скрипт переименования локальной учетной записи мне пригодился.
'Rename_Local_User_Script.vbs
' code start
sOldUser = "Администратор"
sNewUser = "Admin"
sComputerName = "." ' use "." for local computer
Set colUsers = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& sComputerName & "\root\cimv2").ExecQuery _
("select Name from Win32_UserAccount where name = '" & sOldUser & "'")
If colUsers.Count > 0 Then
For Each oUser In colUsers
iRC = oUser.Rename(sNewUser)
If iRC = 0 Then
WScript.Echo "User renamed"
Else
WScript.Echo "Rename method returned ERROR # " & iRC
End if
Next
Else
WScript.Echo "No user found"
End If
1 июн. 2010 г.
БЕСТ ЗВІТ (best-zvit) - "Error loading MIDAS.DLL" -установка программы на терминальном сервере или в многопользовательском режиме Windows

- Очищаем папку Windows своего админского профиля.
- Устанавливаем программу в нужный каталог. Даем на него необходимые права.
- В папке Windows профиля обнаруживаем файлы. Копируем их в каталог программы.
- Файл midas.dll копируем в системную папку Windows\system32
- Регистрируем библиотеку: regsvr32.exe c:\Windows\system32\midas.dll
- Если включен DEP (Предотвращение выполнения данных) для всех программ - добавляем программу ZForever.exe в исключения. Свойства системы -> Параметры быстродействия -> Предотвращение выполнения данных -> Добавить…
- Отключаем UAC (контроль учетных данных) если Windows Server 2008.
17 мая 2010 г.
"На рабочем столе найдены неиспользуемые ярлыки" - да какое тебе дело до моих ярлыков! Отключить наф…!
12 мая 2010 г.
GPicSync не запускается на Windows 7. Системная ошибка. Отсутствует Msvcr71.dll

30 апр. 2010 г.
Тормозит и вылетает MS Office Word на терминальном Windows Server 2003
Вот, как оказалось, застрявший профиль пользователя может сказываться на работе офисных программ.
Симптомы.
У пользователя на терминальном сервере вылетал и сильно тормозил без всяких причин MS Office Word 2003. При этом другие программы вели себя вполне адекватно. Проблема наблюдалась исключительно у одного человека, остальные с полсотни работали без особых нареканий на систему.
Поиск решения.
Начал разбираться с профилем пользователя. Удалить куст с настройками офиса не удалось ни по живому юзеру, ни из офлайн реестра. Как оказалось, профиль просто застрял и не выгружался с выходом из системы. Пришлось поставить сервер на ночную перезагрузку.
С самого утра юзер педалил тексты и не звонил. Часов к 10-ти решил выяснить результат. Word, по его словам, выглядел как новый и не спотыкался.
Решение.
В моем случае самым простым решением освобождения застрявшего профиля был перезагруз сервера. Благо, ночных фанатов поработать в нашей компании нет.
20 апр. 2010 г.
Ошибка терминального подключения к Windows XP. TermDD ID 50.
Рецепт решения прост и зовется "regedit.exe".
Как проявляется:
Не удается подключится терминально к свежеустановленной Windows XP SP3. Терминальный клиент выдает ошибку подключения. Проверил доступность порта 3389 (telnet host 3389)- откликается. Разрешения на удаленный доступ выставлены. В системном журнале присутствует следующая ошибка:
Тип: Ошибка
Источник: TermDD
Код (ID): 50
"Компонент "DATA ENCRYPTION" RDP-протокола обнаружил ошибку в потоке протокола и отключил этого клиента".
Грешить на кривость настройки - не приходится. Система была поднята с нуля, и из установленных программ - только драйвера. Очень похоже на замысловатый глюк.
Рецепт решения. Открываем куст: HKLM\System\CurrentControlSet\Services\TermServices\Parameters и удаляем ключ Certificate. После чего - перезагружаемся.
В чем причина, я не разбирался. Просто удовлетворился результатом. Ясно, что рецепт не является панацеей от всех глюков с таким же симптомом. Так что предохраняйтесь бэкапом реестра и пользуйтесь на свой страх и риск.
Если проблема не решилась - рекомендую поискать пути преодоления на давно мною любимом ресурсе www.eventid.net.
19 апр. 2010 г.
Сертификат SSL для Exchange сервера с несколькими DNS именами субъекта
К службам сервера по HTTPS протоколу обращаются клиенты, которые знают его как основной почтовый домен (domainname.com), сервер с ролью OWA (owa.domainname.com), службу autodiscover (autodiscover.domainname.com), сервер с плоским именем Netbios (netbios), SMTP и POP3 сервер (smtp.domainname.com и pop3.domainname.com), да и мало ли как вам еще заблагорассудится. И все эти запросы ваш DNS благополучно разрешает в имя единственного сервера с одним портом 443. Если на сервере установлен обычный сертификат с одним DNS именем субъекта, то клиент генерирует как минимум предупреждение "Сертификат безопасности этого веб-узла был выпущен для веб-узла с другим адресом". Для Outlook это чревато ошибками при загрузке автономной адресной книги и подключениях "Outlook Anywhere".
Выход есть. Достаточно сгенерировать сертификат, который бы включал Дополнительное имя субъекта.
Вот как это сделать в Powershell:
1. Генерируем запрос на сертификат:
New-ExchangeCertificate -GenerateRequest:$true -SubjectName "DC=domainname, DC=com, O=CompanyName, CN=servername.domainname.com" -DomainName servername.domainname.com, autodiscover.domainname.com, owa,domainname.com, domainname.com, servername, smtp.domainname.com, pop3.domainname.com -PrivateKeyExportable:$true -FriendlyName "Microsoft Exchange 2007" -Path c:\cert.req -IncludeAcceptedDomains:$false -Force:$true
В результате получим текстовый файл с запросом к службе сертификации.
2. Выполним расширенный запрос к службе сертификации указав сгенерированный текст и загрузим выданный сертификат в файл cert.cer. (Я, разумеется, не сомневаюсь что у вас есть своя служба сертификации в домене и вы знаете зачем она нужна :)
3. Импортируем полученный сертификат
Import-ExchangeCertificate -path c:\cert.cer
Обратите внимание на номер сертификата в выводе команды, именно его нужно указать в следующем шаге вместо моей тарабарщины.
4. Назначим сертификат серверным ролям Exchange
Enable-ExchangeCertificate -thumbprint 12345вышелзайчегпогулять67890 -services "IIS,SMTP,IMAP, POP"
После проделанных шагов, ваш сервер начнет откликаться сертификатом с несколькими DNS именами субъекта. Проверить успешность действий можно, например, в консоли диспетчера служб IIS на закладке "Безопасность каталога" просмотрев сертификат. В поле "Дополнительное имя субъекта" должны присутствовать все указанные нами имена.
Ну что ж, работаем дальше.
16 апр. 2010 г.
Простой TFTP клиент. Проверка сервера TFPT.
Пришлось спрашивать у Гуугла. Тот, как всегда, задумываться не стал. И по первой ссылке я нашел что искал: TFTP Client (free)
Простая, удобная и бесплатная утилита командной строки. Указал TFTP сервер, что сделать и с каким файлом – все.
Параметры тулзы:
TFTP.exe [-i] [-b blocksize] [-v] [-t timeout] [-s] host [GET | PUT] source [destination]
-i Specifies binary image transfer mode (also called octet). In binary image mode the file is moved literally, byte by byte. Use this mode when transferring binary files.
-b Blocksize used during the transfer (512 bytes by default). Can take on a value between 8 and 65464 bytes.
-v Show detail information during transfer (verbose mode).
-t Timeout value in seconds (10 seconds by default). Can take on a value between 1 and 255 seconds.
-s Do not use tsize option (which is enabled by default).
host Specifies the local or remote host.
GET Transfers the file destination on the remote host to the file source on the local host.
PUT Transfers the file source on the local host to the file destination on the remote host.
source Specifies the file to transfer.
destination Specifies where to transfer the file.