пятница, 28 октября 2011 г.

Отключение создания коротких имен файлов формата 8.3

В старых ОС до выхода Windows 95 использовался формат именования файла 8.3, тоесть 8 символов под имя и 3 под расширение. В настоящий момент необходимости в таких именах нету, а вот система по прежнему генерирует “старое” имя для совместимости, что немного замедляет работу с файлами.
Для того чтобы отключить данную функцию воспользуемся командой fsutil:

Например "fsutil 8dot3name set X"
где X:

0 – включить генерацию имен 8.3 для всех разделов систем,
1 – выключить генерацию имен 8.3 для всех разделов систем,
2 – включить генерацию имен 8.3, базирующуюся на выборе нужных раздело,
3 – выключить генерацию имен 8.3 для всех разделов систем кроме системного.

Если раздел указан, то флаг для раздела. При этом должна быть выбран а опция 2:
0 – включить генерацию имен 8.3 для этого раздел,
1 – выключить генерацию имен 8.3 для этого раздела.

Применение происходит без перезагрузки.

Освобождение места от установленных обновлений и сервис паков в Windows 7, 2008

Обычно в течении некоторого рабочего времени ОС при установке новых обновлений накапливает временные файлы на системном диске и не удаляет их до конца. Для очистки данного кэша и освобождения диска можно воспользоваться утилитой "Очистка диска" или "Disk Cleanup". В серверной версии Windows 2008 по умолчанию она недоступна.  В установке компонентов нужно заполнить чек-бокс: Возможности рабочего стола или Desktop Experience. После установки понадобится перезагрузка компьютера.


Существует так же способ очистки через консольную команду dism:
dism /online /cleanup-image /spsuperseded /hidesp
В серверных версиях доступна при установленных компонентах "Возможности рабочего стола".


Так же стоит проверить следующий путь:
%windir%\SoftwareDistribution\Download
Все имеющиеся файлы можно удалять, так как это кэш обновлений ОС.

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

Предотвращение добавление машин в домен простыми пользователями

По умолчанию начиная с Windows 2000 простые пользователи домена могут добавить до 10 компьютеров в домен. Это можно исправить с помощью групповых политик. Но есть способ проще. Для этого открываем оснастку adsiedit.msc, находим элемент начинающийся с "DC=", правой кнопкой щелкаем на нем и заходим в Свойства. Ищем параметр ms-DS-MachineAccountQuota, он по умолчанию будет равен 10. Для предотвращения добавления компьютеров в домен пользователями меняем значение на 0. Привязка счетчика осуществляется к компьютерным аккаунтам, поэтому ввод в домен новых машин пользователям будет уже запрещен, однако ранее введенные компьютеры вывести и заново ввести в домен они смогут.

Увеличение разделов файловой системы в Windows

Начиная с Windows Vista и 2008 появилась возможность налету менять разделы у базовых дисков через оснастку diskmgmt.msc. Можно как расширять диски при наличии неиспользуемого пространства, так и сжимать их, освобождая пространство. В Windows XP и 2003 этого сделать нельзя, но можно воспользоваться загрузочным образом Windows PE.
Команда diskpart позволяет сделать данные манипуляции без графического интерфейса: сначала просматриваем доступные разделы list volume, затем выбираем необходимый select volume <№ раздела>, и выполняем extend для увеличения при наличии свободного пространства на диске.

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

Изменение SID в Windows 7, 2008.

В данных операционных системах в отличии от предыдущих уже не поддерживается утилита NewSid. Но Microsoft предоставила официальное решение: утилита Sysprep. Находится она в папке Windows/System32/sysprep/sysprep.exe. После запуска не забудьте установить галочку Generalize. Далее ждем пока система выполнит свою работу, при этом она несколько раз перезагрузится. Затем придется установить некоторые первоначальные параметры как при инсталляции ОС.

Смена языка ввода по умолчанию.

Эту операцию можно сделать через GUI интерфейс, однако изменения происходят только для текущего пользователя. Нам же чаще всего необходимо это сделать для профиля по умолчанию. Воспользуемся реестром. По данному пути:[HKEY_USERS\.DEFAULT\Keyboard Layout\Preload] необходимо просто поменять значения 409 и 419 местами у соответствующих параметров. Это касается русских и английских языков. В остальных случаях значения будут иными.

понедельник, 17 октября 2011 г.

Изменение часового пояса на компьютерах локальной сети

Иногда может возникнуть необходимость в установке другого часового пояса на множестве сетевых машин. В ручную это делать неудобно и муторно. Воспользуемся консольными командами. Однако вся сложность оказалась в том, что в различных версиях Windows разные команды для данных манипуляций.

Возьмем для примера часовой пояс+03 Багдад: Arabic Standard Time или по-русски Багдадское время.
Доступные пояса можно посмотреть в этой ветке реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.

Windows 2000
Консольная команда:
RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Arabic Standard Time

Windows XP & 2003
Консольная команда:
tzchange.exe /c "Arabic Standard Time"

Windows Vista & 2008
К сожалению не существует для этих версий корректной команды смены времени, но можно выкрутиться через изменение реестра и рестарт сервиса:
reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v TimeZoneKeyName /t REG_SZ /d "Arabic Standard Time" /f
net stop w32time
net start w32time

Windows 7 & 2008 R2
Консольная команда:
tzutil.exe /s "Arabic Standard Time"

Для автоматизации изменения часового пояса в домене можно воспользоваться следующим cmd-скриптом:

@echo off
rem For English name of time zone
set varen=Arabic Standard Time
rem For Russian name of time zone
set varru=Багдадское время
rem For Windows XP and 2003
if exist %windir%\system32\tzchange.exe (
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varen%"||reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varru%"
if errorlevel == 1 (
tzchange.exe /c "%varen%"
)
) else (
rem For Windows 7 and Server 2008 R2
if exist %windir%\system32\tzutil.exe (
tzutil.exe /g|find "%varen%"
if errorlevel == 1 (
tzutil.exe /s "%varen%"
)
) else (
rem For Windows 2000 without reg.exe
if not exist %windir%\system32\reg.exe (
RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z %varen%
) else (
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v TimeZoneKeyName
rem For Windows 2000 with reg.exe
if errorlevel == 1 (
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varen%"||reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varru%"
if errorlevel == 1 (
RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z %varen%
) else (
exit
)
) else (
rem For Windows Vista and Server 2008
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /f "%varen%" /d
if errorlevel == 1 (
reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v TimeZoneKeyName /t REG_SZ /d "%varen%" /f
net stop w32time
net start w32time
)))))


В начале скрипта нужно лишь поменять две переменные на соответствующий часовой пояс(одна английский вариант, вторая - русский). Работает для всех версий Windows, так как предусматривает все возможные варианты и команды. В домене для применения удобнее всего использовать групповые политики.

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

Когда перестает работать RDP доступ посе установки обновлений на Windows.

С данной проблемой уже не раз сталкивался на различных серверах под Windows 2003. Причем баг ничем не обусловлен, ни какими-то конкретно обновлениями, ни конфигурацией сервера, случается совершенно в хаотичном порядке. Решение от Microsoft данной проблемы не было найдено, но можно немного пошаманить: в свойствах системы на вкладке удаленного подключения снимаем галочку "Разрешить подключение по удаленному рабочему столу", жмем Ок, затем опять устанавливаем галочку и перегружаем сервер. Помогает.

понедельник, 3 октября 2011 г.

Решение проблемы с HP dc7900, зависание при перезагрузке системы

Столкнулся с проблемой на рабочей станции HP dc7900. После установки ОС Windows 7 (x86-x64 - проблема существует в обоих ОС) при выполнении команды перезагрузки системы, компьютер показывал приглашение BIOS и дальше повисал. Причем если систему выключить по кнопке, а затем включить, загрузка ОС проходила без проблем. Решением оказалось изменение параметра в биос: Advance Powe On -> Post Mode -> установить значение Clear Memory или Full Boot.