вторник, 19 января 2016 г.

Применение групповой политики только при наличии у хостов определённой локальной группы ОС Windows

Данное решение будет полезно при необходимости применения групповой политики Active Directory по условию наличия определённой локальной группы на компьютере. В этом нам поможет WMI-фильтр со следующим запросом:

"SELECT * FROM Win32_Group WHERE Domain='.' and Name LIKE 'MY_LOCAL_GROUP'"

где "MY_LOCAL_GROUP" - ваша локальная группа, наличие которой мы и проверяем.
Просто создайте данный фильтр в оснастке "Group Policy Management" и примените его к нужной групповой политике.

суббота, 16 января 2016 г.

Разблокировка или восстановление пароля локального администратора Windows

Во время случайного удаления или блокировки локальных пользователей ОС Windows может возникнуть ситуация, при которой в систему станет невозможно войти. Если вы помните пароль встроенного локального администратора, то для Windows Vista/7/2008/2008R2 перегрузитесь в безопасном режиме. В этом случае учётная запись окажется разблокированной и, зная пароль,  у вас получится войти в ОС. Если же пароль вам точно не известен, а также для ОС Windows 8 и выше, выполните следующие действия:

1. Загрузите компьютер с инсталляционного диска Windows. Подойдет любой. Для примера рассмотрим Windows 10.
2. Выбираем "Восстановление системы".


3. Далее "Поиск и устранение неисправностей".


4. Затем "Дополнительные параметры".


5. И запускаем командную строку.


6. Определяем букву системного диска. В нашем случае - это диск D:


7. Далее выполняем следующие команды:

cd /d D:\
cd Windows\System32
move Utilman.exe Utilman.exe.original
copy cmd.exe Utilman.exe




Таким образом мы подменяем утилиту "Специальные возможности" - "Utilman.exe" на командую строку - "cmd.exe". Теперь у нас при нажатии сочетания клавиш "Win+U" будет запускаться командный процессор с правами системной учётной записи.

8. Перегружаемся в обычном режиме и вызываем командную строку через "Win+U".


9. Теперь с помощью "net user" меняем пароль локальному администратору или другому пользователю и вдобавок его разблокируем:

net user Администратор password /ACTIVE:YES

где password - это новый пароль.


10. После выполнения команды мы наконец получим доступ к ОС Windows.
11. Последним шагом будет возвращение утилит на свои места для устранения образовавшейся дыры в безопасности системы. Загружаемся опять с диска Windows 10 или аналогичного и выполняем в командной строке:

cd /d D:\
cd Windows\System32
del Utilman.exe
move Utilman.exe.original Utilman.exe


Вместо утилиты "Utilman.exe" аналогично можно использовать "Sethc.exe" - приложение, которое вызывается системой при пятикратном нажатии или залипании клавиши "Shift".

пятница, 15 января 2016 г.

Ошибка извлечения стороннего корневого списка из CAB-файла автоматического обновления сертификатов Windows службы CAPI2

Если компьютер не имеет прямого доступа в интернет, вы можете обнаружить ошибку в журнале приложений с кодом 4107:

Ошибка извлечения стороннего корневого списка из CAB-файла автоматического обновления на "http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab" с ошибкой Недопустимые данные.

Обычно это связана с тем, что компьютер не может корректно обновить корневые сертификаты через сайт "windowsupdate.com".

Возможные варианты решения проблемы:
1. Снять ограничения на прокси сервере или внешнем брандмауэре, через которые осуществляется выход в интернет.

2. В случае полной изоляции среды функционирования ОС Windows можно просто отключить обновление сертификатов двумя способами:
Первый - в реестре создайте следующие параметры:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SystemCertificates\AuthRoot] "DisableRootAutoUpdate"=dword:00000001
"EnableDisallowedCertAutoUpdate"=dword:00000000

Или второй - с помощью групповых политик домена Windows. Для этого импортируйте следующие .adm шаблоны:

CLASS MACHINE
CATEGORY !!SystemCertificates
    POLICY !!DisableRootAutoUpdate    
       EXPLAIN !!Certificates_config
       VALUENAME "DisableRootAutoUpdate"
       VALUEON NUMERIC 0
          VALUEOFF NUMERIC 1
       KEYNAME "Software\Policies\Microsoft\SystemCertificates\AuthRoot"
    END POLICY
END CATEGORY
[strings]
DisableRootAutoUpdate="Auto Root Update"
Certificates_config="By default automatic updating of the trusted CTL is enabled. To disable the automatic updating trusted CTLe, select Disabled."
SystemCertificates="Windows AutoUpdate Settings"

CLASS MACHINE
CATEGORY !!SystemCertificates
    POLICY !!EnableDisallowedCertAutoUpdate        
       EXPLAIN !!Certificates_config
       VALUENAME "EnableDisallowedCertAutoUpdate"
       VALUEON NUMERIC 1
          VALUEOFF NUMERIC 0
       KEYNAME "Software\Policies\Microsoft\SystemCertificates\AuthRoot"
    END POLICY
END CATEGORY
[strings]
EnableDisallowedCertAutoUpdate="Untrusted CTL Automatic Update"
Certificates_config="By default untrusted CTL automatic update is enabled. To disable trusted CTL update, select Disabled."
SystemCertificates="Windows AutoUpdate Settings"

3. Перенаправить на локальный URL-адрес автоматическое обновление сертификатов Microsoft. Для этого понадобится один сервер с полноценным выходом в интернет, который будет выкачивать списки сертификатов и предоставлять их во внутреннюю сеть. Загрузка выполняется с помощью команды "Certutil -f -syncWithWU path", запущенной с повышенными привилегиями, где path - это путь, куда будет выгружена информация о сертификатах для дальнейшего распространения. Далее файлы можно просто расшарить средствами Windows или предоставить доступ по HTTP через IIS, Apache и т.п. На клиентских ОС производим настройку на сервер в реестре:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\AuthRoot\AutoUpdate]
"RootDirURL"="FILE://\\server_with_certificates\share\"

или

"RootDirURL"="HTTP://server_with_certificates/share"

В доменной среде удобнее выполнить настройку с помощью групповой политики. Используйте следующий .adm шаблон:

CLASS MACHINE
CATEGORY !!SystemCertificates
    KEYNAME "Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate"
    POLICY !!RootDirURL
       EXPLAIN !!RootDirURL_help
       PART !!RootDirURL EDITTEXT
             VALUENAME "RootDirURL"
       END PART
    END POLICY
END CATEGORY
[strings]
RootDirURL="URL address to be used instead of default ctldl.windowsupdate.com"
RootDirURL_help="Enter a FILE or HTTP URL to use as the download location of the CTL files."
SystemCertificates="Windows AutoUpdate Settings"

Выберите из вышеописанных способов наиболее подходящий для вашей среды.

среда, 13 января 2016 г.

Настройка драйвера многопутевого ввода-вывода(Multipath I/O) на Windows 2008 и выше

При подключении устройств к сети SAN, как правило, для отказоустойчивости используется несколько FC портов. Таким образом презентованные серверу Windows тома доступны сразу по нескольким путям, т.е. в оснастке "Управление дисками" можно увидеть например 4 одинаковых тома вместо одного.


Задачу корректной работы с томом по нескольким путям решает MPIO-драйвер, который часто разрабатывается самим производителем СХД (Системы Хранения Данных), но начиная с ОС Windows Server 2008, компания Microsoft предоставила свой собственный драйвер в виде компонента "Многопутевой ввод-вывод". Для многих СХД достаточно включить и настроить данный компонент, чтобы решить проблемы с подключаемым томом.

Выполните следующие шаги:
1. С помощью мастера добавления компонентов установите "Многопутевой ввод-вывод (Multipath I/O)".
2. Запустите командную строку с повышенными привилегиями и выполните включение драйвера на всех устройствах командой: "mpclaim -n -i -a".
3. Перезагрузите сервер и проверьте оснастку "Управление дисками". Вместо 4 одинаковых дисков вы увидите один.


Если понадобится отключить драйвер Multipath I/O, выполните: "mpclaim -n -u -a" и перезагрузитесь. Для проверки настройки воспользуйтесь командой: "mpclaim -s -d".
Политика балансировки между путями к тому по умолчанию устанавливается в значение: Round Robin.
Чтобы изменить вид балансировки, используйте "mpclaim -l -m параметр", где параметр - цифра, соответствующая конкретной политике балансировки:
0 - Clear the Policy;
1 - Failover Only;
2 - Round Robin;
3 - Round Robin with Subset;
4 - Least Queue Depth;

5 - Weighted Paths;
6 - Least Blocks;
7 - Vendor Specific
.

PowerShell: как узнать WWN портов FC HBA адаптеров на Windows 2008 и выше

Для этого достаточно выполнить следующий запрос в базу WMI:

Get-WmiObject -class MSFC_FCAdapterHBAAttributes -namespace "root\WMI" | ForEach-Object {(($_.NodeWWN) | ForEach-Object {"{0:x}" -f $_}) -join ":"}

понедельник, 11 января 2016 г.

VMware PowerCLI: создание стенда из однородных виртуальных машин на основе технологии Linked Clone

Если необходимо организовать нагрузочное тестирование с участием множества однородных виртуальных хостов, можно воспользоваться технологией от VMware под названием Linked Clone. Суть её заключается в том, что все клонируемые машины работают используя исходный родительский жесткий диск, а собственными дисками у них являются лишь разницы от реплики. Главный плюс технологии - экономия дискового пространства тома VMFS, минус - необходимость слежения за свободным местом на томе, поскольку тонкие диски постепенно вырастают по мере их использования.
Чтобы быстро развернуть такую мини лабораторию, воспользуйтесь следующим PowerCLI скриптом:

########## Change here for your infrastructure
# vCenter Server Name or Ip
$vCenter="vc.mydomain.local"
# vCenter User Name
$vCenterUser="user"
# vCenter User Password
$vCenterUserPassword="yourpassword"
# Source VM for cloning
$SourceName = "SOURCE-VM"
# Names for clones of source VM for example MYVM-01,MYVM-02,MYVM-03 etc.
$ClonePrefix = "MYVM-"
# Specify number of VMs you want to create
$vm_count = "5"
##############################################

# Connect to vCenter
Write-Host "Connecting to vCenter Server $vCenter" -foreground green
Connect-viserver $vCenter -user $vCenterUser -password $vCenterUserPassword -WarningAction 0
$vm = Get-VM $SourceName

# Create temporary snapshot of source VM for clone
Write-Host "Creating new snapshot for clone ..." -foreground green
$sName = Get-Random
$cloneSnap = $vm | New-Snapshot -Name "$sName"

# Get managed object view
$vmView = $vm | Get-View

# Get folder managed object reference
$cloneFolder = $vmView.parent

# Build clone specification
$cloneSpec = New-Object Vmware.Vim.VirtualMachineCloneSpec
$cloneSpec.Snapshot = $vmView.Snapshot.CurrentSnapshot

# Make linked disk specification
$cloneSpec.Location = New-Object Vmware.Vim.VirtualMachineRelocateSpec
$cloneSpec.Location.DiskMoveType = [Vmware.Vim.VirtualMachineRelocateDiskMoveOptions]::createNewChildDiskBacking

# Cycle to create clones of source VM
1..$vm_count | foreach {
$y="{0:D2}" -f $_
$CloneName = $ClonePrefix + $y
Write-Host "Creating VM $cloneName ..." -foreground green

# Create clone
$vmView.CloneVM( $cloneFolder, $cloneName, $cloneSpec )

# Power on new VM
Get-VM $cloneName | Start-VM -RunAsync
}
# End of cycle

# Remove temporary snapshot of source VM
Write-Host "Removing snapshot for clone ..." -foreground green
Remove-Snapshot $cloneSnap -Confirm:$false

# End
Write-Host "Done!" -foreground green

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

вторник, 5 января 2016 г.

Процедура восстановления прошивки LANSERVER 652 (WLX-652)

Процедура восстановления необходима в случае сбоя Flash памяти или неудачного обновления firmware. При корректно работающем загрузчике у вас всё должно получиться.

Выполните следующие шаги:
1. Для начала вам понадобится RS232-TTL конвертер, чтобы подключить WLX-652 к COM-порту вашего ПК.


Существуют также переходники на интерфейс USB.

2. Разберите устройство, чтобы получить доступ к печатной плате. Подключите конвертер в специальные отверстия, как показано на картинке.


3. Запустите терминальный клиент на вашем ПК (Hyper Terminal, Putty) и подключитесь к нужному COM-порту с параметрами: Speed - 38400, Parity - none, Stop bits - 1, остальное по умолчанию. Экран консоли должен оставаться пустым.

4. Теперь необходимо соединить устройство с вашим ПК с помощью Ethernet. Это можно сделать, используя коммутатор, или напрямую - с помощью обратного патч-корда.

5. На вашем ПК устанавливаем и запускаем TFTP сервер (например подойдет "tftpd32" для Windows или "tftpd-hta" для Linux). В его корневой директории размещаем файл "recovery.8132".

6. Подключите питание к WLX-652. На консоли терминального клиента вы увидите процесс загрузки прошивки. Вам необходимо прервать его, нажав любую клавишу, и получить приглашение "Star Equuleus #" на ввод команд.

7. Выполняем:

"setenv ipaddr 192.168.0.10" - устанавливаем IP устройства (например 192.168.0.10);
"setenv serverip 192.168.0.100" - указываем IP сервера сервера TFTP (нашего ПК);
"tftpboot 0x1000000 recovery.8132" - даём команду на загрузку образа в память;
"go 0x1000000" - переходим к выполнению загруженного образа.

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

8. Далее нам понадобится накопитель USB. Форматируем флэшку в один из следующих форматов:FAT16, EXT2, EXT3. Затем распаковываем в корень файлы из архива "fw_def_mtd.zip".

9. Подключаем накопитель к любому разъёму на WLX-652 и проверяем командой "mount", что флэшка примонтирована по пути "/usb/sda1".

10. С помощью следующих команд записываем обратно на наше устройство файлы firmware:

"/bin/dd of=/dev/mtdblock1 if=/usb/sda1/fw_def_mtd1_config.bin"
"/bin/dd of=/dev/mtdblock2 if=/usb/sda1/fw_def_mtd2_kernel.bin"
"/bin/dd of=/dev/mtdblock3 if=/usb/sda1/fw_def_mtd3_initrd-and-web.bin"

11. Переподключите питание WLX-652 и, если вы всё сделали правильно, заводская прошивка корректно загрузится с настройками по умолчанию и предоставит доступ через Web-интерфейс.

Последнюю версию прошивки можно скачать тут (версия ядра 2.6.2 за 12 апреля 2011г), а полную оригинальную заводскую версию здесь (ядро 2.5.0 за 22 июня 2009г).
Также обратите внимание на альтернативное неофициальное firmware под названием Snake OS, которое работает гораздо стабильнее, но требует больше времени и квалификации для настройки.