среда, 27 декабря 2017 г.

Windows: Быстрый доступ к папке "Автозагрузка" в Windows 10/Server 2016

Данные папки предназначены для автоматического запуска при загрузке профиля пользователя тех приложений, ярлыки которых были сюда помещены.
В старых версиях Windows добраться до них было достаточно просто через главное меню. В Windows 10, чтобы попасть в эти директории, необходимо отобразить скрытые папки. Но есть более простой путь:

- доступ к папке "Автозагрузка" текущего пользователя: выполните "shell:startup";

- доступ к папке "Автозагрузка" всех пользователей: выполните "shell:common startup".

понедельник, 24 июля 2017 г.

FreeBSD: Сброс пароля "root"

Для сброса забытого пароля "root" пройдите следующие шаги:
1. При старте компьютера выбираем в загрузчике режим "Single user mode".
2. После загрузки ОС выполняем:

mount -u /
mount -a
passwd

3. Два раза вводим новый пароль для пользователя "root" и затем командой "reboot" перегружаемся в обычный режим.

пятница, 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. Не забываем после окончания всей процедуры удалить сделанный ранее снапшот.


четверг, 27 апреля 2017 г.

FreeBSD: Перестала загружаться система из-за некорректного монтирования ресурсов с помощью "fstab"

Такое может случится после редактирования файла /etc/fstab, где прописываются устройства и ресурсы, которые должны монтироваться во время старта системы, а также при их некорректной работе.
Для решения проблемы:
1. На экране выбора режима загрузки ОС укажите "Boot Single User" (вариант №2).


2. Выполните команду: "mount -uw /".
3. Приступайте к исправлению файла: "ee /etc/fstab".
4. После сохранения перегрузитесь в нормальном режиме командой "reboot".

четверг, 2 марта 2017 г.

Microsoft SQL: Запрос для определения размеров таблиц базы данных

Данный SQL-запрос покажет размер в килобайтах для каждой из таблиц базы данных MS SQL:

SELECT 
    t.Name AS Table_Name,
    s.Name AS Schema_Name,
    p.rows AS Row_Counts,
    SUM(a.total_pages) * 8 AS Total_Space_in_KB, 
    SUM(a.used_pages) * 8 AS Used_Space_in_KB, 
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnUsed_Space_in_KB
FROM 
    sys.tables t
INNER JOIN      
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
    sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN 
    sys.schemas s ON t.schema_id = s.schema_id
WHERE 
    t.Name NOT LIKE 'dt%' 
    AND t.is_ms_shipped = 0
    AND i.OBJECT_ID > 255 
GROUP BY 
    t.Name, s.Name, p.Rows
ORDER BY 
    t.Name

вторник, 7 февраля 2017 г.

Обновление информации на DHCP, DNS, WINS-сервисах о клиенте Windows без его перезагрузки

DHCP:
ipconfig /renew - обновление DHCP-аренды;
ipconfig /release - освобождение DHCP-аренды и занятого IP;
ipconfig /renew6 - обновление DHCP-аренды для IPv6;
ipconfig /release6 - освобождение DHCP-аренды и занятого IPv6.

DNS:
ipconfig  /registerdns - обновление всех DHCP-аренд и перерегистрация DNS-имен.

WINS:
nbtstat /RR - освобождения имени на WINS-сервере, а затем повторная регистрация.

среда, 1 февраля 2017 г.

VMware ESXi: Перенос гипервизора с одного USB-накопителя на другой, резервирование и восстановление

Гипервизор VMware vSphere ESXi в целях экономии может быть установлен на USB-накопитель. Чтобы не быть застигнутым врасплох в случае сбоя или выхода из строя флэшки, рекомендуется единовременно или периодически снимать образ гипервизора. Имея такой бэкап, можно в краткие сроки восстановить работу виртуальной среды.

Создание образа:
1. Подключаемся по SSH на нужный ESXi-хост или включаем командую строку в консоли.
2. Выясняем, как называется USB-устройство, на котором находится гипервизор:
"ls -l /dev/disks". Вероятнее всего у вас оно будет называться: "mpx.vmhba32:C0:T0:L0".
3. Находим полный путь к каталогу, куда будет сохранен образ. Проверяем подключённые тома командой: "ls -l /vmfs/volumes/". Далее в полном пути будем использовать GUID диска.
4. Создаем образ:

dd if=/dev/disks/mpx.vmhba32:C0:T0:L0 of=/vmfs/volumes/5860f072-c8fada20-90bf-1402ec84e0d8/BackupESXi/esxi.img bs=1M

где "/dev/disks/mpx.vmhba32:C0:T0:L0" - путь к USB-устройству с гипервизором;
"/vmfs/volumes/5860f072-c8fada20-90bf-1402ec84e0d8/BackupESXi/esxi.img" - полный путь к файлу образа;
"bs=1M" - параметр утилиты "dd", определяющий размер блока при копировании.

Восстановление образа:
Необходимо производить, используя другой компьютер и ОС семейства Linux. Например, прекрасно подойдет Debian Live CD. Команда для восстановления будет выглядеть примерно так:

dd if=/tmp/esxi.img of=/dev/sdb bs=1M

где "esxi.img" - образ гипервизора, скопированный с ESXi;
"sdb" - название целевого USB-устройства в ОС Linux.

Внимание!!! Использование для восстановления образа различных утилит под ОС Windows может приводить к ошибке загрузки гипервизора:

BANK5: invalid configuration
BANK6: not a VMware boot bank
No hypervisor found.


Настройка регулярного резервирования: 
Бэкап образа можно организовать с помощью планировщика "cron". Добавьте следующее содержимое в файл "/etc/rc.local.d/local.sh" перед строкой "exit 0":

/bin/kill $(cat /var/run/crond.pid)
/bin/echo '30 1 1 * * dd if=/dev/disks/mpx.vmhba32:C0:T0:L0 bs=1M | gzip > /vmfs/volumes/57bff6a8-b6fa57b0-56d3-9cb65496b448/BackupESXi/esxi.img.gz' >> /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond

Первая строка находит и убивает процесс планировщика. Во второй мы добавляем задание в конфигурационный файл крона ("30 1 1 * *" означает выполнять первого числа каждого месяца в 1:30, можно установить своё время). Команда создания образа такая же, как рассматривалась выше, за исключением того, что вдобавок используется "gzip" для сжатия файла с целью экономии пространства на диске. И последнее действие: запуск планировщика.
Далее выполните встроенный скрипт "auto-backup.sh" в консоли гипервизора и перегрузите ESXi.
Чтобы обойтись без перезагрузки, в консоли выполните три команды, которые уже внесли в файл "/etc/rc.local.d/local.sh".
После всех изменений проверьте, корректно ли ваше задание было добавлено в конец файла  "/var/spool/cron/crontabs/root".

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

Windows 10 не видит CD/DVD привода

Если у вас в ОС Windows 10 внезапно после обновлений или установки/удаления прикладного ПО перестал работать CD/DVD-привод, но при этом в BIOS он доступен, установите следующий параметр реестра, выполнив команду с повышенными привилегиями:

reg add "HKLM\System\CurrentControlSet\Services\atapi\Controller0" /f /v EnumDevice1 /t REG_DWORD /d 0x00000001

среда, 18 января 2017 г.

FreeBSD: Изменение значения TTL системы

Для изменения значения TTL в ОС FreeBSD откройте на редактирование файл:

ee /etc/sysctl.conf

и добавьте строку:

net.inet.ip.ttl=128

где значение - это необходимый TTL.

Чтобы изменения вступили в силу, перезагрузите ОС.

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

Как установить Windows с помощью сервера Windows Deployment Services при отсутствии DHCP в сегменте локальной сети

Сервис Windows Deployment Services подразумевает установку ОС через локальную сеть при обязательном получении IP-адреса от DHCP-сервера. Если же существует необходимость установки из сетевого сегмента при отсутствии DHCP, понадобится ручная настройка образа Discovery Image.

Последовательность действий следующая:
1. Заходим на сервер Windows Deployment Services и запускаем одноимённую оснастку.
2. В разделе "Boot Images" выбираем "Add Boot Image..." и создаём загрузочный образ, используя при этом файл "boot.wim", находящийся на инсталляционном диске Windows 10.
3. Затем кликаем на полученном образе в оснастке и находим пункт "Create Discover Image...", создаём наш загрузочный wim-файл для работы с WDS сервисом.
4. Скачиваем на сайте Microsoft "Комплект средств развертывания и оценки Windows" ("Windows ADK") для той же системы и билда (ВАЖНО!), с которого мы первоначально получали загрузочный образ.
5. Устанавливаем утилиты, а именно, обязательно ставим компоненты: средства развёртывания, среда предустановки Windows (Windows PE).


6. Создаем структуру папок для Windows PE: запускаем командную строку с повышенными привилегиями, переходим в каталог "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment" и выполняем команду:

copype amd64 D:\iso

Будет создана папка "iso" и туда будут помещены необходимые файлы от Windows PE.

ВАЖНО! Если при выполнении команды вы получаете ошибку: "The following processor architecture was not found: amd64.", откройте на редактирование скрипт "copype.cmd" и определите следующие переменные в начале файла:

"set WinPERoot=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment"
"set OSCDImgRoot=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg"

7. Заменяем "D:\iso\media\sources\boot.wim" wim-файлом, полученным ранее на сервере WDS.
8. Монтируем образ:

dism /Mount-Wim /wimfile:D:\iso\media\sources\boot.wim /mountdir:d:\iso\mount /index:1

9. После монтирования открываем "D:\iso\mount\windows\system32\winpeshl.ini" и изменяем содержимое следующим образом:

[LaunchApps]
%SYSTEMDRIVE%\windows\system32\mynetwork.cmd

10. Создаем в этой же директории ("system32") наш скрипт "mynetwork.cmd":

@echo off
echo Please wait...
wpeinit
cls
set /p IP="Input IP address:"
set /p MASK="Input network MASK:"
set /p GW="Input default GATEWAY:"
set /p DNS="Input DNS server:"
netsh int ip set address ethernet static %IP% %MASK% %GW%
net start dnscache
ping -n 3 %GW% >nul
netsh int ip set dns ethernet static %DNS% primary
%SYSTEMDRIVE%\sources\setup.exe /wds /wdsdiscover /wdsserver:wds-server.mydomain.local

где wds-server.mydomain.local - имя сервера со службой Windows Deployment Services.

11. Сохранив изменяемые файлы, размонтируем образ:

dism /Unmount-Wim /mountdir:d:\iso\mount /Commit

12. Переходим в каталог "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg" и выполняем команду для получения загрузочного диска .iso:

oscdimg -bD:\iso\fwfiles\etfsboot.com -h D:\iso\media D:\iso\mydiscovery.iso

В итоге мы получаем образ диска, при загрузке с которого будет производится установка Windows через сервер WDS с возможностью в ручную указывать настройки TCP/IP.


Также средствами "Windows ADK" можно создать загрузочный USB-носитель. Для этого перейдем в каталог "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment" и выполним команду:

makewinpemedia /ufd D:\iso H:

где H: - наша USB-флэшка.