Метка: PowerShell

  • Управление ролями и компонентами Windows Server из PowerShell

    В Windows Server 2012R2/2016/2019 вы можете устанавливать и удалять различные роли и компоненты сервера через графический Server Manager. Однако в большинстве случаев эти же самые операции можно выполнить гораздо быстрее из консоли PowerShell. В этой статье мы рассмотрим особенности управления (далее…)

  • Управление службами Windows с помощью PowerShell

    В Windows вы можете управлять службами не только из графической консоли services.msc или утилиты командной строки Sc.exe (первоначальна включалась в пакет ресурсов Resource Kit), но и с помощью PowerShell. (далее…)

  • Используем Visual Studio Code вместо Powershell ISE для создания PowerShell скриптов

    Большинство администраторов для написания своих PowerShell скриптов используют встроенную среду PowerShell ISE (Integrated Scripting Environment). Но на данный момент Microsoft практически перестала развивать PowerShell ISE и рекомендует использовать более мощный, удобный, гибкий и бесплатный (далее…)

  • Установка и настройка Windows Hyper-V Server 2019 (2016)

    Windows Hyper-V Server — это бесплатная серверная версия гипервизора от Microsoft, которую можно использовать для запуска виртуальных машин. В этой статье мы рассмотрим, как установить и настроить версию Windows Hyper-V Server 2019 (инструкция также применима и к Hyper-V Server 2016).

    Microsoft анонсировала, что не будет выпускать отдельную версию Hyper-V Server 2022. Связано с тем, что сейчас они сфокусированы на другом стратегическим продуктов Azure Stack HCI.

    Hyper-V Server 2019 подходит специально для тех, кто не хочет платить за систему аппаратной виртуализации. В нем доступны все функции Hyper-V и при этом он абсолютно бесплатный. Основные преимущества Windows Hyper-V Server:

    • Поддержка всех популярных ОС – совместим со всеми операционными системами. Поддержка Hyper-V присутствует во всех Windows системах, в ядре всех современных систем Linux и FreeBSD;
    • Поддерживаются много способов бекапа виртуальных машин — простые скрипты, бесплатные программы, платные версии популярных программ для бекапа;
    • Несмотря на то, что в Hyper-V Server отсутствует графический интерфейс управления Windows Server, вы можете управлять им удаленно через стандартную консоль управления гипервизором Hyper-V Manager или веб консоль Windows Admin Center;
    • В основе Hyper-V Server популярная платформа Windows Server, с которой привычно и просто работать;
    • Hyper-V можно установить на псевдоRAID – например, RAID контроллер Intel, программный RAID Windows;
    • Не нужно лицензировать гипервизор – подходит для запуска VDI и виртуальных машин с Linux;
    • Нетребовательность к железу – x64 процессор с поддержкой аппаратную виртуализацию (у Intel — Intel-VT или VMX, у AMD — AMD-V (SVM ) и трансляцию адресов второго уровня SLAT (Intel EPT или AMD RV). Эти опции процессора должны быть включены в BIOS/UEFI/nested host. Полные системные требования можно найти на сайте Microsoft;
    • Рекомендуется устанавливать на хосты с минимум 4 Гб памяти.
    Не нужно путать полноценный Windows Server 2016/2019/2022 с установленной ролью Hyper-V с Free Hyper-V Server 2019/2016. Это разные продукты.

    Также отметим, что использование бесплатного гипервизора не освобождает вас от обязанности лицензировать виртуальные машин. Вы можете запустить неограниченное количество ВМ с opensource ОС типа Linux, но виртуальные машины с Windows придется лицензировать. Десктопные редакции Windows лицензируются с помощью ключа продукта. Если вы используете Windows Server в качестве гостевой ОС, его нужно лицензировать по физическим ядрам вашего хоста. Подробнее о лицензировании Windows Server при запуске в среде виртуализации смотрите здесь.

    Что нового в Hyper-V Server 2019?

    Вкратце пробежимся по объявленным новшествам в Hyper-V Server 2019:

    • Появилась поддержка Shielded Virtual Machines для Linux;
    • Версия VM конфигурации 9.0 (поддержка гибернации);
    • Поддержка дедупликации для ReFS;
    • Core App Compatibility – возможность запуска дополнительных графических панелей управления в консоли сервера Hyper-V;
    • Поддержка 2-node Hyper-V cluster, кросс-доменной миграция кластеров.

    Установка Hyper-V Server 2019/2016

    Скачать ISO образ гипервизора Hyper-V Server 2019 можно https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2019.

    После нажатия на кнопку “Continue” откроется небольшая форма регистрации для ввода ваших данных. Заполняете, затем выбираете язык устанавливаемой системы. Настоятельно рекомендую выбрать английский. И ждете, когда закончится скачивание образа Hyper- V. Размер .iso файла около 3 ГБ.

    Установка Microsoft Hyper-V Server идентична установки Windows 10/11 на компьютер. Просто загрузите ваш сервер (компьютер) с установочной USB флешки с установочным образом Microsoft Hyper-V Server (для записи ISO образа на USB накопитель проще всего использовать утилиту Rufus) и следуйте инструкциям мастера установки ОС.

    Утилита Sconfig: базовая настройка Hyper-V Server 2019/2016

    После завершения установки Hyper-V Server потребует задать пароль администратора.

    После этого перед вами откроется консоль гипервизора.

    Обратите внимание, что у Hyper-V Server нет привычного графического интерфейса Windows. Большинство настроек сервера придется выполнять через командную строку.

    На рабочем столе два окна – стандартная командная строка и окно скрипта sconfig.cmd. С помощью данного скрипта можно выполнить первоначальную настройку сервера Hyper-V. В строке “Enter number to select an option:” введите номер пункта меню, с которым будете работать.

    1. Первый пункт меню позволяет ввести сервер в домен AD или в рабочую группу;
    2. Затем задайте имя хоста (сервера);
    3. Добавьте локального администратора (дополнительную учетную запись, помимо встроенного administrator). Обратите внимание, что при вводе пароля курсор остается на одном месте, тем не менее, пароль и его подтверждение успешно вносятся в систему;
    4. Включите удаленный доступ к серверу. Это позволить управлять им с помощью Server Manager, консолей MMC, PowerShell, проверить доступность с помощью ping или tracert;
    5. Настройте Windows Update. Выберите один из трех режимов:
      • Automatic (автоматическая загрузка и установка обновлений)
      • DownloadOnly (только загрузка без установки)
      • Manual (решение о загрузке и установке обновлений принимает администратор)
    6. Загрузите и установите последние обновления Windows;
    7. Включите RDP доступ с или без NLA (Network Level Authentication);
    8. Настройки параметры сетевых адаптеров. По умолчанию сервер получает адрес от DHCP. Обычно тут стоит указать статический IP адрес;
    9. Установите дату и время системы;
    10. Настройте телеметрию. Полностью ее отключить система не позволит. Выберите режим, который вам больше нравится

    Дату, время и часовой пояс можно также настроить с помощью команды:

    control timedate.cpl

    Региональные параметры:

    control intl.cpl

    При этом открываются стандартные консоли Windows.

    Внимание! Если вы закрыли все окна и оказались перед черным экраном, то нажмите Ctrl+Shift+Esc, чтобы запустить диспетчер задач данное сочетание клавиш работает в том числе и в RDP-сессии). С помощью Task Manager вы можете запустить командную строку или утилиту конфигурации Hyper-V (нажмите File -> Run Task -> cmd.exe или sconfig.cmd ).

    Удаленное управление Hyper-V Server 2019/2016

    Для удобного управления Free Hyper-V Server 2019 из графического интерфейса вы можете использовать:

    Для работы с Hyper-V Server 2016/2019 вам потребуется ПК с операционной системой Windows 10 версий Pro или Enteprise х64.

    Удаленное управление Hyper-V Server с помощью Hyper-V Manager

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

    Cначала выполните настройки на сервере Hyper-V. Запустите консоль PowerShell (powershell.exe) и выполните следующие команды:

    Enable-PSRemoting
    Enable-WSManCredSSP -Role server

    Утвердительно отвечаете на все вопросы, при этом будет настроен автоматический запуск службы WinRM и созданы разрешающие правила в брандмауэре.

    Теперь переходит к настройке клиентского компьютера с Win 10.

    Сервер Hyper-V должен быть доступен по своему сетевому имени, в доменной сети ему должна соответствовать A-запись на DNS-сервере. В рабочей группе такую запись потребуется нужно создать вручную на локальном DNS, либо добавить нужную запись в файл hosts (C:WindowsSystem32driversetchosts) клиентской машины. В нашем случае она выглядит следующим образом:

    192.168.13.55 hv19

    Можно добавить запись в файл hosts с помощью PowerShell:

    Add-Content -Path "C:WindowsSystem32driversetchosts" -Value "192.168.13.55 hv19"

    Добавьте Hyper-V сервер в доверенные узлы:

    Set-Item WSMan:localhostClientTrustedHosts -Value "hv19"

    Если учетная запись, под которой вы работаете на клиентском ПК, отличается от учетных данных администратора Hyper-V, нужно явно сохранить учетные данные для соединений с сервером в диспетчер учетных записей Windows командой:

    cmdkey /add:hv19 /user:Administrator /pass:MyPa$$word

    Проверьте используемый профиль сети на клиенте Windows 10. Если используется тип сети Public, ее нужно сменить на Private:

    Get-NetConnectionProfile|select InterfaceAlias,NetworkCategory

    Set-NetConnectionProfile -InterfaceAlias "EthernetLAN2" -NetworkCategory Private

    Выполите команду:

    Enable-WSManCredSSP -Role client -DelegateComputer "hv19"

    Теперь выполните команду gpedit.msc чтобы открыть редактор локальной GPO.

    1. Перейдите в раздел Local Computer Policy -> Computer Configuration -> Administrative Templates -> System -> Credentials Delegation;
    2. Включите параметр Allow Delegating Fresh Credentials with NTLM-only Server Authentication.
    3. Затем нажмите кнопку Show и добавьте два значения wsman/hv19 и wsman/hv19.local
    4. Закройте консоль редактора и обновите настройки локальной групповой политики командой gpupdate /force

    Теперь нужно установить в Windows консоль Диспетчер Hyper-V. Откройте оснастку Programs and Features и перейдите в Turn Windows Features on or off. В открывшемся окне найдите пункт Hyper-V и отметьте для установки Hyper-V GUI Management Tools.

    Или вы можете установить клиент Hyper-V Manager с помощью PowerShell:

    Enable-WindowsOptionalFeature -Online –FeatureName Microsoft-Hyper-V-Management-Clients

    Запустите оснастку Hyper-V Manager ( virtmgmt.msc ), щелкните правой кнопкой по Hyper-V Manager и выберите Connect to Server. Укажите имя вашего сервера Hyper-V.

    Теперь вы можете управлять настройками Hyper-V Server, создавать виртуальный машины и управлять ими из графической консоли.

    Управление Hyper-V с помощью Windows Admin Center

    Для удаленного управления хостом Hyper-V можно использовать Windows Admin Center (WAC). WAC это веб консоли и дашбоард для полноценного управления Windows Server, Server Core и Hyper-V Server.

    На стороне Hyper-V нужно включить разрешающие правила для SMB подключений в Windows Defender Firewall:

    Set-NetFirewallRule -DisplayGroup "File and Printer Sharing" -Enabled true -PassThru

    Теперь нужно скачать (https://aka.ms/WACDownload) и установить агент Windows Admin Center на ваш хост Hyper-V. Скачайте WindowsAdminCenter2110.2.msi на любом компьютере Windows с доступом в интернет. Можно скопировать установочный MSI файл на Hyper-V сервер через подключение к административной шаре C$. Для этого выполните команду:

    Win+R -> \192.168.13.55C$ и введите пароль администратора Hyper-V

    Создайте папку и скопируйте в нее MSI файл.

    Теперь запустите установку WAC из консоли Hyper-V:

    c:distrWindowsAdminCenter2110.2.msi

    Установите WAC с настройками по-умолчанию.

    В целях безопасности можно разрешить использовать только HTTPS подключения к WinRM.

    После окончания установки вы можете подключиться к вашему Hyper-V Server из браузера, простой перейдите по адресу https:\192.168.13.55:443

    Перед вами откроется дашбоард вашего Hyper-V Server хоста. Вы увидите базовую информацию о сервере, используемых ресурсах и т.д.

    Настройки хоста Hyper-V можно задать в разделе WAC -> Settings -> Hyper-V Host Settings. Доступны следующие разделы:

    • General
    • Enhanced Session Mode
    • NUMA Spanning
    • Live Migration
    • Storage Migration

    Для управления Hyper-V вы будете преимущественно использовать две секции в консоли WAC:

    Далее я рассмотрю некоторые способы управления Hyper-V Server из PowerShell

    Настройка Hyper-V Server 2019 с помощью PowerShell

    Для настройки сервера рекомендую использовать PowerShell. В модуле Module Hyper-V доступно более 238 командлетов для управления сервером Hyper-V.

    Get-Command –Module Hyper-V | Measure-Object

    Настройте автоматический запуск консоли PowerShell (вместо cmd.exe) при входе в систему.

    New-ItemProperty -path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionrun -Name PowerShell -Value "cmd /c start /max C:Windowssystem32WindowsPowerShellv1.0powershell.exe -noExit" -Type string

    Теперь при входе в сеанс будет запускаться окно PowerShell.

    Настройка параметров сети Hyper-V Server 2019 из PowerShell

    Если вы не настраивали сетевые параметры в окне sconfig.cmd, то настройте их через PowerShell. С помощью командлета Get-NetIPConfiguration можно увидеть текущую конфигурацию IP сетевых интерфейсов.

    Через PowerShell назначьте статический IP адрес, маску сети, шлюз по умолчанию и адреса DNS серверов. Индекс (InterfaceIndex) сетевого адаптера берем из вывода предыдущего командлета.

    New-NetIPAddress -InterfaceIndex 4 -IPAddress 192.168.1.2 -DefaultGateway 192.168.1.1 -PrefixLength 24

    Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.1.3,192.168.1.4

    Для настройки IPV6 смотрим имя интерфейса командлетом Get-NetAdapter из PowerShell модуля управления сетью NetTCPIP:

    Проверьте текущую настройку IPv6 следующей командой:

    Get-NetAdapterBinding -InterfaceDescription "Intel(R) PRO/1000 MT Network Connection" | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize

    Отключить IPV6 можно так:

    Disable-NetAdapterBinding -InterfaceDescription " Intel(R) PRO/1000 MT Network Connection " -ComponentID ms_tcpip6

    Настройка правил Windows Defender Firewall для управления Hyper-V Server 2019

    Просмотреть список командлетов для управления файерволом Windows можно с помощью Get-Command.

    Get-Command -Noun *Firewall* -Module NetSecurity

    Для полноценного удаленного управления сервером выполните последовательно следующие команды для включения разрешающих правил Windows Firewall из PoSh:

    Enable-NetFireWallRule -DisplayName "Windows Management Instrumentation (DCOM-In)"
    Enable-NetFireWallRule -DisplayGroup "Remote Event Log Management"
    Enable-NetFireWallRule -DisplayGroup "Remote Service Management"
    Enable-NetFireWallRule -DisplayGroup "Remote Volume Management"
    Enable-NetFireWallRule -DisplayGroup "Windows Defender Firewall Remote Management"
    Enable-NetFireWallRule -DisplayGroup "Remote Scheduled Tasks Management"

    Создание дискового хранилища для виртуальных машин

    Для хранения данных (файлов виртуальных машин и дистрибутивов) будем использовать отдельный раздел на физическом диске. Просмотрите список физических дисков на сервере.

    Get-Disk

    Создайте новый раздел на диске максимально возможного размера и назначьте ему букву D. Используйте DiskNumber из Get-Disk.

    New-Partition -DiskNumber 0 -DriveLetter D –UseMaximumSize

    После этого отформатируйте раздел в NTFS и укажите его метку.

    Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "HVStore"

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

    Создайте каталог, где будете хранить настройки и файлы дисков виртуальных машин. Командлет New-Item позволяет создавать вложенные пути:

    New-Item -Path "D:Hyper-VVirtual Hard Disks" -Type Directory

    Создайте папку D:Distrib для хранения установоых ISO образов ОС:

    New-Item -Path D:Distr -ItemType Directory

    Для создания общей сетевой папки (шары) используйте командлет New-SmbShare, с помощью которого предоставьте полный доступ по сети для группы локальных администраторов сервера:

    New-SmbShare -Path D:Distr -Name Distr -Description "OS Distributives" -FullAccess "BUILTINAdministrators"

    Более подробно о базовой настройке Hyper-V Server и Windows Server Core из командой строки рассказано в этой статье.

    Настройка параметров хоста в Hyper-V Server 2016/2019

    Откроем параметры сервера командой:

    Get-VMHost | Format-List

    Пути виртуальных машин и виртуальных дисков находятся на одном разделе с операционной системой, что неправильно. Пропишите путь к созданным ранее папкам с помощью команды:

    Set-VMHost -VirtualMachinePath D:Hyper-V -VirtualHardDiskPath 'D:Hyper-VVirtual Hard Disks'

    Создание виртуального коммутатора Hyper-V

    Создайте External Switch, который привязывается к сетевой карте Hyper-V Server и организует взаимодействие ВМ с физической сетью.

    Проверьте поддержку SR-IOV (Single-Root Input/Output (I/O) Virtualization):

    Get-NetAdapterSriov

    Получите список подключенных сетевых адаптеров:

    Get-NetAdapter | Where-Object -PropertyStatus –eqUp

    Привяжите виртуальный свитч к сетевому адаптеру и при наличии SR-IOV включите его поддержку.

    Внимание! Включить или отключить поддержку SR-IOV после создания свитча будет невозможно, для изменения этого параметра необходимо будет пересоздавать коммутатор.

    New-VMSwitch -Name "Extenal_network" -NetAdapterName "Ethernet 2" -EnableIov 1

    Проверить настройки виртуального коммутатора можно с помощью командлетов:

    Get-VMSwitch
    Get-NetIPConfiguration –Detailed

    На этом первоначальная настройка Hyper-V Server 2016/2019 закончена. Можно переходить к созданию и настройке виртуальных машин.

    Более подробно команды PowerShell для управления Hyper-V и виртуальными машинами описаны в этой статье.


  • Блокируем доступ к определенным сайтам в Windows

    В статье рассмотрим несколько способов, позволяющий заблокировать доступ к определенным веб-сайтам, доменам или IP адресам с компьютера Windows без использования сторонних программ. Обычно блокировку сайтов наиболее эффективно настраивать на уровне сетевого шлюза (роутер, маршрутизатор, Wi-Fi точка (далее…)

  • VMWare: Как найти виртуальную машину по IP или MAC адресу?

    В интерфейсе VMWare vSphere Client вы можете выполнять поиск виртуальных машин только по их именам. Но в некоторых случаях администратору VMWare необходимо найти определенную виртуальную машину по ее IP или MAC адресу.

    Проще всего выполнять по различным параметрам виртуальных машин с помощью (далее…)

  • Как получить или изменить настройки BIOS/UEFI из PowerShell?

    Вы можете использовать PowerShell для просмотра или изменения настроек BIOS/UEFI на компьютере Windows. В этой статье мы рассмотрим, как получить или изменить настройки BIOS компьютера через Windows PowerShell на обычном компьютере и на брендовых устройствах популярных производителей (HP, Lenovo, (далее…)

  • Как проверить права администратора в скрипте PowerShell?

    Если для выполнения некоего скрипта PowerShell нужно, чтобы он был запушен с правами администратора, вы можете прямо в PS коде выполнить проверку на наличие административных привилегий у текущего процесса.

    Следующий PowerShell код можно использовать, чтобы проверить, запущён ли текущий скрипт в (далее…)

  • Управление NTFS разрешениями на папки и файлы из PowerShell

    Для управления доступом к файлам и папкам в Windows на каждый объект файловой системы NTFS (каталог или файл) назначается специальный ACL (Access Control List, список контроля доступа). В ACL объекта задаются доступные операции (разрешения), которые может совершать с этим объектом пользователь (далее…)

  • Как разрешить (запретить) обычному пользователю перезагрузку (выключение) Windows?

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