пятница, 19 мая 2017 г.

VBScript: скрипт для удалённого изменения настроек DNS и WINS на клиентских ОС Windows для текущего домена Active Directory

Скрипт пригодится для удалённого изменения на клиентских ОС Windows настроек TCP/IP, таких как DNS и WINS, в пределах текущего домена Active Directory. Выполнять лучше всего из командной строки с повышенными привилегиями, используя: "cscript имя_скрипта.vbs", получив таким образом удобный вывод информации о ходе работы алгоритма.
Во время выполнения скрипт делает следующее:
1. Получает список всех машин в текущем домене.
2. Последовательно подключается к ним и проверяет интерфейсы с включённым протоколом TCP/IP.
3. Если настройки DNS и WINS установлены, но не соответствуют адресам, заданным в переменных "strPrimaryServer" и "strSecondaryServer", то происходит изменение этих параметров.

Также запускающий скрипт пользователь обязательно должен обладать правами на подключение и настройку сетевых интерфейсов на всех удалённых ОС.

ON ERROR RESUME NEXT
 'Primary and Secondary DNS,WINS servers IPs
 strPrimaryServer = "192.168.0.11"
 strSecondaryServer = "192.168.0.12"
 '..........................................
 Const ADS_SCOPE_SUBTREE = 2
 arrDNSServers = Array(strPrimaryServer, strSecondaryServer)
 Set Info = CreateObject("AdSystemInfo")
 arrDomLevels = Split(Info.DomainDNSName, ".")
 strADsPath = "dc=" & Join(arrDomLevels, ",dc=")
 Set objConnection = CreateObject("ADODB.Connection")
 Set objCommand =   CreateObject("ADODB.Command")
 objConnection.Provider = "ADsDSOObject"
 objConnection.Open "Active Directory Provider"
 Set objCOmmand.ActiveConnection = objConnection
 objCommand.CommandText = _
  "Select Name, netbootGUID, distinguishedName from 'LDAP://" & strADsPath & "' " _
   & "Where objectClass='computer'"  
 objCommand.Properties("Page Size") = 1000
 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
 Set objRecordSet = objCommand.Execute
 objRecordSet.MoveFirst
 Do Until objRecordSet.EOF
  WScript.Echo objRecordSet.Fields("Name")
  strComputer = objRecordSet.Fields("Name")
  Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  Set colNetCards = objWMIService.ExecQuery _
  ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True and DHCPEnabled = False")
  For Each objNetCard In colNetCards
  If Not (UBound(Filter(objNetCard.DNSServerSearchOrder, strPrimaryServer)) > -1 And UBound(Filter(objNetCard.DNSServerSearchOrder, strSecondaryServer)) > -1) Then
  objNetCard.SetDNSServerSearchOrder(arrDNSServers)
  WScript.Echo "..........................Changed DNS!"
  End If
  If StrComp(objNetCard.WINSPrimaryServer, strPrimaryServer) Or StrComp(objNetCard.WINSSecondaryServer, strSecondaryServer) Then
  objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
  WScript.Echo ".........................Changed Wins!"
  End If
  Next
  objRecordSet.MoveNext
 Loop

четверг, 18 мая 2017 г.

FreeBSD: Расширение дискового пространства

Если в логе постоянно сыпятся ошибки "filesystem full" - это означает, что закончилось место на вашем разделе файловой системы. Вариантов для решения проблемы всего два: удалить ненужные файлы, освободив таким образом место, или расширить дисковое пространство.
В случае расширения диска сперва понадобится увеличить размер вашего HDD в виртуальной среде, RAID-массиве или на системе хранения данных, смотря, что вы используете. Далее действуем следующим образом:
1. Загружаемся в режиме "Single User" (выбор №2 в загрузочном меню).
2. Командой "ls /dev" проверяем, как называется у нас жёсткий диск.


3. Далее смотрим сколько занимают текущие данные на диске "da0" и сколько свободного места не разбито: "gpart show da0".


4. Добавляем всё свободное пространство в активный геом "freebsd": "gpart resize -i 1 da0" и затем сохраняем изменения: "gpart commit da0s1".
5. Выполним "gpart show da0" и увидим, что теперь свободное пространство отсутствует, а наш активный геом увеличился в размере.


6. Командой "gpart show da0s1" отображаем состав геома "freebsd". Видим, что в нашем примере он состоит из двух разделов: основного и свопа.


Чтобы увеличить основой раздел "freebsd-ufs", необходимо удалить сначала своп. Затем его нужно будет пересоздать заново.
7. Удаляем второй раздел геома, являющийся свопом: "gpart delete -i 2 da0s1".


8.  Расширяем основной раздел: "gpart resize -i 1 -a 4k -s 14G da0s1", указывая какого размера он должен стать.


9. Теперь остаётся только создать своп на оставшемся свободном месте: "gpart add -t freebsd-swap -a 4k da0s1".


10. Заключительный штрих -  расширяем файловую систему на основном разделе командой: "growfs /dev/da0s1a".


После выполненных шагов перезагружаемся в обычном режиме.

Данная инструкция создавалась по файловой системе UFS. Что касается ZFS, то последовательность действий примерно такая же:
1. Загружаемся в режиме "Single User" и выполняем "ls /dev", чтобы узнать имена дисков и разделов.


2. Просматриваем количество доступного места: "gpart show da0". В этом случае расширяемый раздел является последним, поэтому при добавлении свободного места не требуется лишних манипуляций со свопом.


3. Расширяем геом "freebsd-zfs": "gpart resize -i 3 da0". Проверяем, добавилось ли место: "gpart show da0".


4. Командой "zpool list" просматриваем, какие пулы существуют в системе и какого они размера.


5. Расширяем необходимый пул: "zpool online -e zroot da0p3". Затем проверяем, корректно ли увеличился размер пула: "zpool list".


6. Перегружаемся в обычно режиме.

понедельник, 15 мая 2017 г.

Импорт обновлений на сервер WSUS в ручном режиме из Microsoft Update Catalog

Некоторые специфические обновления можно импортировать на сервер WSUS в ручном режиме из каталога Microsoft. Делается это следующим образом:
1. Откройте оснастку службы WSUS.
2. Найдите "Updates" в дереве консоли.
3. Кликните правой кнопкой на этом пункте и выберите "Import Updates..." из контекстного меню.
4. Откроется окно Internet Explorer, в котором загрузится Microsoft Update Catalog.
5. С помощью поиска найдите нужные вам KB и добавьте их в корзину кнопкой "Add".
6. Затем зайдите в корзину по ссылке "view basket".
7. Установите галочку "Import directly into Windows Server Update Services" и нажмите "Import". Откроется всплывающее окно, в котором будет показан статус загрузки выбранных обновлений на сервер.
8. После завершения загрузки можно вернуться в консоль сервера WSUS и применить обновления на ваши группы компьютеров. Найти импортированные патчи можно в закладке "All Updates" (Approval:Unapproved, Status:Any).

четверг, 4 мая 2017 г.

FreeBSD: Установка ОС с помощью bootonly.iso, используя прокси для выхода в интернет

Маленький образ bootonly.iso можно использовать для установки ОС FreeBSD, при этом все необходимые файлы будут автоматически скачаны из сети интернет. Но инсталлятор не учитывает потребности в подключении к репозиторию через прокси-сервер. Чтобы обойти этот нюанс, проделаем следующие шаги:

1. После загрузки с bootonly.iso диска в первом появившемся мастере выбираем "Shell" вместо "Install".
2. В командной строке делаем настройку прокси:

export http_proxy="http://user:pass@my_proxy_server:port"
export ftp_proxy="http://user:pass@my_proxy_server:port"

3. Далее с помощью команды "ifconfig" находим имя сетевого адаптера, в моем случае виртуальный адаптер VMware был назван системой: "vmx0".

Если у вас в сети используется DHCP, выполняем: "dhclient vmx0".

Если же статическая IP-адресация, то для следующих TCP/IP параметров: 192.168.0.5/24, шлюз 192.168.0.1, сервер ДНС 192.168.0.10, команды будут выглядеть следующим образом:

ifconfig vmx0 192.168.0.5 netmask 255.255.255.0
route add default 192.168.0.1
echo "nameserver 192.168.0.10" | resolvconf -a vmx0

4. После настройки сети запускаем мастер установки "bsdinstall" и следуем его дальнейшим инструкциям.
5. По окончанию работы мастера выполняем команду "reboot" для перезагрузки в установленную ОС.

Если в проинсталлированной системе понадобится сделать установку ПО через интернет, необходимо не забыть настроить прокси согласно данной статье.

среда, 3 мая 2017 г.

VMware: полное отключение синхронизации времени гостевой ОС с гипервизором ESXi

Даже при отключённой настройке "Synchronize guest time with host" гостевая ОС продолжает синхронизацию времени с гипервизором ESXi в моменты перезагрузки, переезда на другой хост, создания снапшота и восстановления из него. Для некоторых сервисов, например таких как Active Directory, периодические временные скачки могут привести к сбоям в работе. Поэтому следует выполнить настройки по полному отключению синхронизации времени гостевой ОС с гипервизором ESXi:
1. Кликните правой кнопкой мыши на выключенной виртуальной машине и выберите "Edit Settings..." в vSphere Web Client.
2. Далее перейдите в "VM Options"->"Advanced"->"Edit Configuration...".
3. С помощью "Add Row" добавьте следующие параметры:

Name:                                                       Value:
tools.syncTime                                          0
time.synchronize.continue                        0
time.synchronize.restore                           0
time.synchronize.resume.disk                   0
time.synchronize.shrink                            0
time.synchronize.tools.startup                  0
time.synchronize.tools.enable                   0
time.synchronize.resume.host                   0


Данные параметры можно без редактирования настроек просто вписать в .vmx-файл. Для продукта VMware Workstation вместо нуля значением должно являться "FALSE".

вторник, 2 мая 2017 г.

VMware ESXi: переключение SCSI контроллера жесткого диска LSI Logic на Paravirtual SCSI для гостевой ОС Windows

По умолчанию драйвер адаптера Paravirtual SCSI не включается в дистрибутивы Microsoft Windows, поэтому уже после установки ОС и VMware Tools имеет смысл на него перейти с целью улучшения производительности виртуального железа.

Следующие шаги позволят безболезненно переключиться на VMware Paravirtual:
1. Создаем снапшот виртуальной машины в качестве бэкапа.
2. Проверяем, что VMware Tools установлены, в противном случае устанавливаем.
3. Выключаем виртуальную машину и заходим в её настройки через vSphere Web Client.
4. Добавляем новое устройство: "SCSI Controller". В поле "Change Type" выбираем "VMware Paravirtual".


5. Применяем изменения и загружаем ОС.
6. В диспетчере задач убеждаемся, что драйвер на добавленный адаптер установился корректно.


7. Затем опять делаем завершение работы.
8. Заходим в настройки через vSphere Web Client и в свойствах каждого из Hard disk изменяем значение параметра "Virtual Device Node" на добавленный нами SCSI контроллер.
9. Не выходя из настроек сразу же удаляем первоначальный SCSI адаптер, тип которого не является Paravirtual. Больше он нам не понадобится.
10. После применения настроек загружаем ОС и проверяем в диспетчере задач, что "VMware PVSCSI Controller" является единственным адаптером и его драйвер работает корректно.


11. Не забываем после окончания всей процедуры удалить сделанный ранее снапшот.