powershell команды управления виртуальными машинами

Sep 27, 2016 22:58




sconfig # штатная утилита для быстрой начальной настройки Windows Server

https://technet.microsoft.com/ru-ru/library/hh848559.aspx

Get-Help
Get-Help New-VM -Detailed
Get-Help New-VM -Examples

Get-Command -Module Storage
Get-Command -Verb *Get* -Module Storage

Get-VMSwitch
Get-NetIPConfiguration -Detailed

Get-NetAdapter # Узнаем под какими именами фигурируют адаптеры.
Get-NetIPConfiguration # Смотрим текущую конфигурацию IP на сетевых интерфейсах

Назначаем статическую адресацию, маску сети, шлюз по умолчанию и адреса DNS серверов.
InterfaceIndex сетевого адаптера берем из вывода предыдущего командлета.

New-NetIPAddress -InterfaceIndex 13 -IPAddress 192.168.1.5 -DefaultGateway 192.168.1.1 -PrefixLength 24

Set-DnsClientServerAddress -InterfaceIndex 13 -ServerAddresses 192.168.1.2,192.168.1.3

Вывести состояние конкретной ВМ в более менее удобочитаемом виде можно такой командой:

Get-VM -Name Win7_ZKAcces | fl

А для вывода всех имеющихся характеристик ВМ можно сделать так:

Get-VM -Name Win7_ZKAcces | fl *

https://blogs.msdn.microsoft.com/virtual_pc_guy/2015/05/18/using-powershell-to-get-vm-ip-addresses/

Get-VM | ?{$_.ReplicationMode -ne “Replica”} | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status

Get-Command -Module Hyper-V
Get-Service VMMS
Get-Disk # Получить информацию об установленных жестких дисках
Get-VM # статус виртуалок
Stop-VM Win7_ZKAcces # Остановить виртуалку Win7_ZKAcces
Start-VM Win7_ZKAcces # Запустить виртуалку Win7_ZKAcces
Start-VM -Name web* # Запустить все виртуальные машины, имена которых начинаются с «web»

С помощью ключа Force мы принудительно завершим работу ВМ, не смотря на незавершенные процессы:
Stop-VM -Name WKS81 -Force
Для выключения питания используем ключ TurnOff, и ключ Save для сохранение состояния ВМ:
Stop-VM -Name WKS81 -TurnOff
Stop-VM -Name WKS81 -Save

Создать новую виртуальную машину под названием MyVM

New-VM -Name MyVM -MemoryStartupBytes 1GB -NewVHDPath c:MSVMsMyVM.vhd -NewVHDSizeBytes 60GB

New-VM -Name Test # Создать новую виртуальную машину с именем «test»

Создать новый виртуальный жесткий диск по пути d:\VHDs\test.vhd

New-VHD -Path F:\VHDs\test.vhd

Подключить виртуальный сетевой адаптер на виртуальной машине «test» к коммутатору «QA».

Connect-VMNetworkAdapter -VMName test -SwitchName QA

Экспортировать «на лету» виртуалку Win7_ZKAcces в папку F:\virt\clone\Win7_ZKAcces\23-09-2016 (сделать бакап)

Export-VM -Name Win7_ZKAcces -Path F:\virt\clone\Win7_ZKAcces\23-09-2016

Импорт (копирование и генерация нового ID). Для импорта указываем XML-файл конфигурации виртуальной машины, находящийся в папке Virtual Machines:

Import-VM -Path ″C:\VM\Virtual Machines\4596AEB4-AB71-43E2-9B1D-4579B7CFC4D1.xml″ -Copy -GenerateNewID

Переместить «на лету» файл жесткого диска виртуальной машины Win7_ZKAcces из папки F:\serv1c.vhdx в папку D:\Virt\serv1c\serv1c\serv1c.vhdx

Move-VMStorage "Win7_ZKAcces" -VHDs @(@{«SourceFilePath» = «F:\serv1c.vhdx»; «DestinationFilePath» = «D:\Virt\serv1c\serv1c\serv1c.vhdx»})

Увеличить файл жёсткого диска serv1c.vhdx до 85 Гб (виртуальная машина должна быть остановлена)

Resize-VHD -Path F:\serv1c.vhdx -SizeBytes 85GB

Получить информацию о разделах жесткого диска под номером 1

Get-Partition -DiskNumber 1

Удалить на жестком диске номер 1 логический раздел номер 2

Remove-Partition -DiskNumber 1 -PartitionNumber 2

Создать на жестком диске номер 1 новый раздел под буквой F, используя всё доступное пространство

New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter F

Форматировать логический раздел с буквой F в файловую систему NTFS

Format-Volume -DriveLetter F -FileSystem NTFS

Контрольные точки (Checkpoint) позволяют сделать моментальный снимок виртуальной машины,
сохранив ее состояние на определенный момент времени.
создадим для ВМ WKS81 чекпойнт с именем Test:

Checkpoint-VM -VMName WKS81 -Name Test

Просмотрим все имеющиеся у машины чекпойнты:

Get-VMSnapshot -VMName WKS81

Применим созданный чекпойнт

Restore-VMSnapshot -VMName WKS81 -Name Test

И удалим его:

Remove-VMSnapshot -VMName WKS81 -Name Test

переместить хранилище ВМ можно из консоли PowerShell, например для переноса всех файлов машины WKS81 в одно расположение выполним команду:

Move-VMStorage -VMName WKS81 -DestinationStoragePath ″C:\VM″

Экспорт и импорт ВМ

Export-VM -Name WKS81 -Path C:\VM

И импорт (копирование и генерация нового ID). Для импорта указываем XML-файл конфигурации виртуальной машины, находящийся в папке Virtual Machines:

Import-VM -Path ″C:\VM\Virtual Machines\4596AEB4-AB71-43E2-9B1D-4579B7CFC4D1.xml″ -Copy -GenerateNewID

Вывести состояние конкретной ВМ в более менее удобочитаемом виде можно такой командой:

Get-VM -Name WKS81 | fl

А для вывода всех имеющихся характеристик ВМ можно сделать так:

Get-VM -Name WKS7 | fl *

Выключение виртуальной машины осуществляется командлетом Stop-VM с различными ключами. Например, для завершения работы операционной системы ВМ WKS81 воспользуемся командой:

Stop-VM -Name WKS81

С помощью ключа Force мы принудительно завершим работу ВМ, не смотря на незавершенные процессы:

Stop-VM -Name WKS81 -Force

Для выключения питания используем ключ TurnOff, и ключ Save для сохранение состояния ВМ:

Stop-VM -Name WKS81 -TurnOff
Stop-VM -Name WKS81 -Save

Ну а для включения или восстановления состояния используется командлет Start-VM:

Start-VM -Name WKS81

http://www.vmstart.ru/opisaniya-i-czeny/556-nastrojka-hyper-v-server-2012-r2#link1

Проверяем текущую настройку IPv6 на интерфейсе.
Имя интерфейса берем из вывода командлетов Get-NetAdapter или Get-NetIPConfiguration.

Get-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" | Where-Object -Property DisplayName -Match IPv6 | Format-Table -AutoSize

Отключить поддержку IPv6 на сетевом адаптере можно командлетом Disable-NetAdapterBinding

Disable-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" -ComponentID ms_tcpip6

Настройка межсетевого экрана (Advanced Firewall)

Get-NetFirewallRule | Where-Object -Property DisplayName -Match "firewall" | Format-List -Property Name, DisplayName, Enabled

Включаем оба правила.

Enable-NetFirewallRule -Name RemoteFwAdmin-In-TCP,RemoteFwAdmin-RPCSS-In-TCP

добавить на Hyper-V Server в доверенные узлы WinRM на хосте управления и обновить текущее состояние в ServerManager.

Set-Item wsman:\localhost\Client\TrustedHosts HYPER-V01 -Concatenate -Force

Модуль Hyper-V для Windows PowerShell

https://technet.microsoft.com/ru-ru/library/hh846767(v=ws.11).aspx

-------------------------------------------------------------------|-------------------------------------------------------
Задача | Команда Windows PowerShell для выполнения задачи
-------------------------------------------------------------------|-------------------------------------------------------
Создать новую виртуальную машину с именем «test». | New-VM -Name Test
-------------------------------------------------------------------|-------------------------------------------------------
Получить список всех виртуальных машин | Get-VM
-------------------------------------------------------------------|-------------------------------------------------------
Создать новый виртуальный жесткий диск по пути d:\VHDs\test.vhd | New-VHD -Path D:\VHDs\test.vhd
-------------------------------------------------------------------|-------------------------------------------------------
Запустить все виртуальные машины, имена которых начинаются с «web» | Start-VM -Name web*
-------------------------------------------------------------------|-------------------------------------------------------
Подключить виртуальный сетевой адаптер на виртуальной машине «test»| Connect-VMNetworkAdapter -VMName test -SwitchName QA
к коммутатору «QA». |
-------------------------------------------------------------------|-------------------------------------------------------

Использование стандартных глаголов командлетов.
-----------------|-------------------------------------------|------------------------------------------------------
Задача | Командлет для выполнения задачи в службе | Командлет для выполнения задачи в виртуальной машине
-----------------|-------------------------------------------|------------------------------------------------------
Get | Get-Service | Get-VM
-----------------|-------------------------------------------|------------------------------------------------------
Настройка | Set-Service | Set-VM
-----------------|-------------------------------------------|------------------------------------------------------
Создать | New-Service | New-VM
-----------------|-------------------------------------------|------------------------------------------------------
Запуск | Start-Service | Start-VM
-----------------|-------------------------------------------|------------------------------------------------------
Стоп | Stop-Service | Stop-VM
-----------------|-------------------------------------------|------------------------------------------------------
«Перезапуск» | Restart-Service | Restart-VM
-----------------|-------------------------------------------|------------------------------------------------------
Приостановка | Suspend-Service | Suspend-VM
-----------------|-------------------------------------------|------------------------------------------------------
Resume | Resume-Service | Resume-VM
-----------------|-------------------------------------------|------------------------------------------------------

ссылка для скачивания всех компонентов System Center 2012 RC.

https://technet.microsoft.com/library/hh546785(v=sc.12).aspx
документация из библиотеки Technet по System Center 2012 Virtual Machine Manager.
http://technet.microsoft.com/en-us/library/gg610610.aspx
курс Microsoft Virtual Academy по System Center 2012 Virtual Machine Manager
http://www.microsoftvirtualacademy.com/tracks/system-center-virtual-machine-manager-2012
Введение в облачные технологии Microsoft
http://www.microsoft.com/microsoftservices/en/us/journey_to_the_cloud.aspx
различные вебкасты по компонентам System Center на Techdays.ru.
http://www.techdays.ru/videos/System%20Center

http://legotin.com/new-features-system-center-2012-vmm/
http://itnotices.ru/klonirovanie-virtualnih-mashin-v-hyper-v/

Клонирование виртуальных машин Hyper-V с использованием PowerShell

1. Экспорт виртуальной машины.

Export-VM -Name SYD-DC -Path 'D:\VMM\Export'

2. Импорт виртуальной машины.

Import-VM -Path 'D:\VMM\Export\SYD-DC\Virtual Machines\4E9FC690-E871-47A1-A783-786A0B604CB4.XML' -VhdDestinationPath 'D:\VMM\VHD\SRV2' -Copy -GenerateNewId

3. Переименовываем виртуальную машину. Для начала узнаем ID клонированной машины.

get-vm | select VMNAME,VMId

Нас интересуют две машины с одинаковым именем, но разными ID. Переименовывать будем машину ID которой отличается от ID импортируемой на шаге 2 машины. Следующий набор команд выполнит переименование. 5F3E5C8D-1280-43ED-8F1E-7274AB3B9643 - это полученный при выполнении предыдущей команды идентификатор.

get-vm | Where-Object {$_.VMId -eq "5F3E5C8D-1280-43ED-8F1E-7274AB3B9643"} | Rename-VM -NewName SRV2

4. Переименовываем виртуальный жесткий диск.

Get-VHD -VMId 5f3e5c8d-1280-43ed-8f1e-7274ab3b9643 | Select Path | Rename-Item -NewName SRV2.vhdx
Remove-VMHardDiskDrive -VMName SRV2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName SRV2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path 'D:\VMM\VHD\SRV2\SRV2.vhdx'

5. Изменяем MAC адрес для виртуального адаптера виртуальной машины. Здесь может быть два варианта. Первый, это выставить динамическое получение MAC адреса. И, соответственно, второй - это указать MAC в ручную.

Set-VMNetworkAdapter -VMName SRV2 -DynamicMacAddress
Set-VMNetworkAdapter -VMName SRV2 -StaticMacAddress '00-15-5D-80-55-01'
Start-VM -Name SRV2

6. Меняем IP адрес и имя виртуального сервера. К сожалению, у меня не получилось реализовать данные задачи без запуска виртуальной машины. Следующие команды необходимо выполнить непосредственно в консоли powershell виртуального сервера.

Rename-Computer SRV2
Remove-NetIPAddress -InterfaceAlias «Ethernet» -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.0.20 -InterfaceAlias «Ethernet» -AddressFamily IPv4 -PrefixLength 24
Restart-Computer

---------------------------------------------------------------------------------------------------
глянуть шары
Get-WmiObject win32_share -Filter "type > '0'"

Тонкости управления компонентами Windows

Windows Admin Center
https://docs.microsoft.com/ru-ru/windows-server/manage/windows-admin-center/overview

Убедитесь, что .NET Framework 4.5.2 или более поздней версии уже установлен на компьютере
https://github.com/Microsoft/dotnet/tree/master/releases/net48

средство восстановления Microsoft .NET Framework
Microsoft .NET Framework Repair Tool
Руководство пользователя инструмента очистки .NET Framework
https://msdnshared.blob.core.windows.net/media/2018/05/dotnetfx_cleanup_tool.zip

Windows Management Framework 5.1
https://www.microsoft.com/en-us/download/details.aspx?id=54616

проверить, что платформа WMF установлена, и что используется версия 5.1 или более поздняя версия.
$PSVersiontable

Выполните команду Enable-PSRemoting -force в консоли PowerShell для включения удаленного подключения PowerShell.
Enable-PSRemoting -force

https://docs.microsoft.com/ru-ru/powershell/wmf/overview
При установке WMF добавляются или обновляются следующие компоненты:
Windows PowerShell
Windows PowerShell Desired State Configuration (DSC)
Интегрированная среда сценариев Windows PowerShell (ISE)
Удаленное управление Windows (WinRM)
Инструментарий управления Windows (WMI)
Веб-службы Windows PowerShell (расширение IIS OData для управления)
Инвентаризация программного обеспечения (SIL)
Поставщик CIM диспетчера сервера

разворачивание Windows Admin Center на core или hyper-v
https://asecurity.dev/2019/03/install-windows-admin-center-on-windows-server-2019-core/
$url = "https://aka.ms/WACDownload"
$output = "c:\wc.msi"

Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output

msiexec /i "c:\wc.msi"

Включение удаленной работы с Powershell
PowerShell. Решение проблем связанных с удалённым подключением (about_Remote_Troubleshooting)

Не удается подключить Hyper-V Server 2019 к домену
из sconfig ошибки не видно, поэтому вручную Add-Computer -DomainName домен выползает "вы не можете подключиться к общей папке smb1"
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Не удается подключить удаленный рабочий стол к Hyper-V Server 2012 R2
http://it-student.com.ua/windows/tips/reshenie-hyper-v-server-2012-r2-ne-rabotaet-rdp.html

Иногда с чистой установки Hyper-V 2012 Server R2 возникает проблема с удаленным подключением. Проблема заключается в следующе - система установлена, подключения к RDP разрешены, но возникает ошибка при подключении к удаленному рабочему столу.

Проблема заключается в блокировке фаерволом подключений. Для того, чтобы разрешить удаленные подключения к вашему Hyper-V серверу выполните в cmd:

cmd
powershell
Enable-NetFirewallRule

После этого, подключение должно пройти. Если этого не случилось - явно разрешите подключения:

Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"
Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-UDP"

проблемы с RDP в 2019
https://social.technet.microsoft.com/Forums/ru-RU/c9d82adb-5dd5-4e43-878c-2e98e00c2943/hyperv-server-2019-rdp-not-working
https://www.c-amie.co.uk/technical/create-a-slipstreamed-hyper-v-server-2019-installation-image-with-working-remote-desktop/

http://www.catalog.update.microsoft.com/Search.aspx?q=KB4482887

run gpedit.msc from console
GPO in Comp config > admin templates > Win components > Remote Desktop Services > Remote Desktop Session Host > Connections > to



Close Editor and reboot your server

Интерактивный вход в систему на данном компьютере запрещен локальной политикой
Добавить эту учетную запись в группу “Пользователи удаленного рабочего стола” на виртуальной Windows

Изменение ожидающего порта для удаленного рабочего стола
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber

в HYPER-V это не помогло
https://techwire.nl/2018/11/26/access-windows-server-core-2019-through-remote-desktop/

https://www.rootusers.com/how-to-enable-remote-desktop-in-windows-server-2019/
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

disable RDP
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 1

netstat -an | find /i "3389"

Opening Ports on the Windows Firewall Using Command Line (netsh)
netsh advfirewall firewall add rule name="Open Port 9996" dir=in action=allow protocol=TCP localport=9996

Opening Ports on the Windows Firewall Using PowerShell
New-NetFirewallRule -DisplayName 'Open 9996' -Profile 'Private' -Direction Inbound -Action Allow -Protocol TCP -LocalPort 9996

SSH
Подключение к Windows по SSH как в Linux
https://github.com/PowerShell/Win32-OpenSSH

SSH on Windows Server 2019
https://techcommunity.microsoft.com/t5/ITOps-Talk-Blog/Installing-and-Configuring-OpenSSH-on-Windows-Server-2019/ba-p/309540
https://docs.microsoft.com/ru-ru/windows-server/administration/openssh/openssh_install_firstuse

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic

Start-Service sshd
Start-Service ssh-agent

https://github.com/PowerShell/Win32-OpenSSH/releases

Установка .NET Framework 3.5 в Windows Server 2012 R2
http://winitpro.ru/index.php/2014/05/14/ustanovka-net-framework-3-5-v-windows-server-2012-r2/

смотрим
Get-WindowsFeature *Framework*

ставим
dism /online /enable-feature /featurename:NetFX3 /all

dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess
/Online - означает, что нужно обновлять текущую ОС, а не wim образ
/enable-feature /featurename:NetFX3 /all - необходимо установить платформу .NET Framework 3.5 со всеми функциями
/Source - путь к каталогу дистрибутива Windows, в котором находятся необходимые компоненты
/LimitAccess - предотвратить обращение к узлу Windows Update

Как установить Java JRE в Windows Server Core
https://www.java.com/ru/download/help/silent_install.xml
https://www.computeraudiophile.com/forums/topic/29675-how-to-how-to-install-java-jre-in-windows-server-core/

1. Скопируйте установщик JRE в локальную папку на целевой системе, например, c:\temp

2. Создайте пакетный файл с этим кодом и сохраните его также в каталоге c:\temp, например, назовите его «jre.cmd»

pushd %~dp0
start /wait jre-8u112-x64.exe INSTALLCFG=%~dp0jre.cfg

(При необходимости измените часть jre-81112-x64.exe, чтобы она соответствовала версии, которую вы фактически скачали)

3. Создайте другой файл с кодом ниже и назовите его «jre.cfg», поместите его также в c:\temp

INSTALL_SILENT=Enable
SPONSORS=Disable
NOSTARTMENU=Enable
REBOOT=Disable
EULA=Disable
AUTO_UPDATE=Disable
STATIC=Enable

можно переопределить каталог установки
INSTALLDIR=c:\Java\jre1.8.0_191

4. запустите jre.cmd и откройте диспетчер задач, вы увидите, что установщик работает
5. После завершения установки Java JRE установлена ​​и готова к работе.

добавление переменных в PATH (они здесь)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment

добавить

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t REG_EXPAND_SZ /d "C:\Program Files\Java\jre1.8.0_191"

удалить

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /f

https://webistore.ru/administrirovaniye-windows/reg-add-ili-dobavlenie-novoj-zapisi-v-reestr-windows-cherez-bat-fajl/
https://www.dmosk.ru/miniinstruktions.php?mini=regedit-cmd
http://www.bilee.com/windows-x435-3.html

значения параметров

REG QUERY Делает выборку ключей, параметров и значений
REG ADD Добавляет новую запись (параметр, ключ, значение)
REG DELETE Удаляет одну или несколько записей
REG COPY Копирует данные из одной ветки в другую
REG SAVE Сохраняет ветку со всеми параметрами и значениями в файл
REG RESTORE Восстанавливает ветку и данные из файла
REG LOAD Загружает данные в указанную ветку
REG UNLOAD Выгружает данные из указанной ветки
REG COMPARE Сравнивает две ветки
REG EXPORT Экспортирует все подразделы и параметры в файл .reg
REG IMPORT Импортирует все подразделы и параметры из файла .reg
REG FLAGS Показывает и устанавливает флаги для ветки

https://www.chemtable.com/blog/ru/windows-registry-data-types.htm
Наименование Тип данных Назначение
REG_BINARY Двоичный Двоичные данные
REG_DWORD Числовой Число
REG_QWORD Числовой 64-разрядное числовое значение
REG_EXPAND_SZ Строковый Текст и переменные
REG_FULL_RESOURCE_DESCRIPTOR Строковый Идентификатор ресурса устройства
REG_LINK Строковый Путь к файлу
REG_MULTI_SZ Многостроковый Массив строк
REG_NONE Неизвестный Зашифрованные данные
REG_RESOURCE_LIST Строковый Список ресурсов устройств
REG_RESOURCE_REQUIREMENTS_LIST Строковый Идентификатор ресурса устройства
REG_SZ
Строковый Текст

способ установки с Chocolatey

https://chocolatey.org/install

# Install JDK 8
choco install jdk8 -y

Модуль PSWindowsUpdate: управление обновлениями Windows из PowerShell
http://winitpro.ru/index.php/2018/10/01/pswindowsupdate-upravlenie-obnovleniyami-powershell/
Install-Module -Name PSWindowsUpdate

Обзор команд модуля PSWindowsUpdate
Список доступных командлетов модуля можно вывести так:

get-command -module PSWindowsUpdate

Вкратце опишем назначение команд модуля:

Get-WindowsUpdate - алиас для Get-WUList.
Hide-WindowsUpdate - алиас для Hide-WUUpdate.
Install-WindowsUpdate - алиас для Get-WUInstall.
Uninstall-WindowsUpdate - алиас для Get-WUUninstall.
Add-WUOfflineSync - функция позволяет устанавливать обновления из локального кэша, используя файл wsusscan.cab или wsusscn2.cab.
Add-WUServiceManager - регистрация сервера обновления на компьютере.
Get-WUHistory - выводит список установленных обновлений.
Get-WUInstall - основной командлет модуля PSWindowsUpdate. Позволяет скачать и установить обновления с сервера WSUS или Microsoft Update. Позволяет выбрать категории обновлений, конкретные обновления и указать правила перезагрузки компьютера при установке обновлений.
Get-WUInstallerStatus - проверка состояния службы Windows Installer.
Get-WURebootStatus - позволяет проверить, нужна ли перезагрузка для применения конкретного обновления.
Get-WUList - выводит список обновлений, соответствующим указанным критериям, позволяет найти и установить нужное обновление.
Get-WUServiceManager - проверка источников обновлений.
Get-WUUninstall - командлет позволяет удалить конкретное обновление по KB ID.
Hide-WUUpdate - позволяет скрыть определенные обновления от установки.
Invoke-WUInstall - управление удаленной установкой обновлений.
Remove-WUOfflineSync - удаление офлайн источника сканирования.
Remove-WUServiceManager - удаление сервера обновлений.

Get-WUinstall -MicrosoftUpdate -ListOnly

Get-WUServiceManager

Get-WUInstall -KBArticleID KB4476976 -AcceptAll

Lpksetup Command-Line Options
https://docs.microsoft.com/en-us/previous-versions//dn898585(v=vs.85)

В этом примере устанавливаются все языковые пакеты, расположенные в указанном месте.
lpksetup /i * /p

В этом примере устанавливаются три языковых пакета, которые хранятся в общей сетевой папке.
lpksetup /i ja-JP en-US es-ES /r /s /p \\networkpath\share\languagepackfolder

В этом примере удаляются два языковых пакета
lpksetup /i ja-JP en-US es-ES /r /s /p \\networkpath\share\languagepackfolder

Управление ролями в Windows Server 2008 Server Core

управлялка
https://elims.org.ua/blog/windows-zapusk-osnastok-i-elementov-upravleniya-iz-komandnoj-stroki/
https://github.com/ejsiron/Corefig

годная оболочка для HYPER-V
http://bb4win.sourceforge.net/

файловик
https://doublecmd.sourceforge.io/
\\tsclient\tmp\doublecmd...

браузер (на первое время)
https://www.qtweb.net/

удалить проги
wmic product get name,version,vendor
Get-WmiObject Win32_Product | ft name,version,vendor,packagename

https://github.com/ejsiron/Corefig
https://www.5nine.ru/products/5nine-manager-for-hyper-v-free


HyperV-2019 1434.rs5_release

(устранение проблемы с удалённым рабочим столом)
KB4470788
KB4482887
KB4483452
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
испробованное
Get-WindowsFeature
Get-WindowsFeature *Framework*

Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs
Add-WindowsFeature Remote-Desktop-Services -Source d:\sources\sxs
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Install-Module -Name PSWindowsUpdate
Get-WUInstall -KBArticleID KB4470788 -AcceptAll
Get-WUInstall -KBArticleID KB4482887 -AcceptAll
Get-WUInstall -KBArticleID KB4483452 -AcceptAll

https://github.com/stascorp/rdpwrap/releases

???
https://computerstepbystep.com/routing_and_remote_access_service.html
REG add "HKLM\SYSTEM\CurrentControlSet\services\RemoteAccess" /v Start /t REG_DWORD /d 2 /f

restarter.bat

@echo off
REM Переменная WAITTIME задаёт (паузу в секундах+1)
SET WAITTIME=30

REM Останов службы
net stop "remoteaccess">nul
net stop "fwsrv">nul

REM Пауза
ping -n %WAITTIME% localhost>nul

REM Запуск службы
net start "fwsrv">nul
net start "remoteaccess">nul

установка Microsoft-Windows-Subsystem-Linux
Как включить подсистему Linux в Windows Server 2016
https://docs.microsoft.com/ru-ru/windows/wsl/install-manual
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing

https://docs.microsoft.com/ru-ru/windows/wsl/install-on-server
Rename-Item ~/Ubuntu.appx ~/Ubuntu.zip
Expand-Archive ~/Ubuntu.zip ~/Ubuntu

ubuntu.exe

$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + "C:\Users\Administrator\Ubuntu", "User")

Invoke-WebRequest -Uri https://aka.ms/windows-terminal-preview -OutFile terminal-preview.appx -UseBasicParsing

Удаление отдельных приложений с помощью PowerShell
Get-AppxPackage [имя_пакета] | Remove-AppxPackage

Чтобы найти имя пакета, выполните следующую команду PowerShell:
Get-AppxPackage -allusers |more

Uninstall Calculator
Get-AppxPackage *calculator* | Remove-AppxPackage

Восстановить все встроенные приложения

Get-AppXPackage -allusers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Тонкости управления компонентами Windows

KB4476976
образ FOD

Функция совместимости приложений основных серверных компонентов по требованию (FOD)
Параметры командной строки для обслуживания пакетов DISM

Dism /online /Enable-Feature /FeatureName:TelnetClient
Dism /online /Disable-Feature /FeatureName:TelnetClient

среда рабочего стола

Установка FOD совместимости приложений

Консоль управления Microsoft (mmc.exe)
Просмотр событий (Eventvwr.msc)
Системный монитор (PerfMon.exe)
Монитор ресурсов (Resmon.exe)
Диспетчер устройств (Devmgmt.msc)
Проводник (Explorer.exe)
Windows PowerShell (Powershell_ISE.exe)
Средство управления дисками (Diskmgmt.msc)
Диспетчер отказоустойчивости кластеров (CluAdmin.msc)

сборка образов под свои нужды

Как установить Windows на USB диск
Как установить Windows 11 и Kali Linux на одну флешку

как включить ip маршрутизацию в windows
https://ru.wikihow.com/включить-IP-маршрутизацию
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters\IPEnableRouter setting, right click and select Modify. Change 0 to 1 and exit the editor.

подготовка windows 10
http://ithz.ru/how-to-create-own-windows-install-wim-image/

Отключить слежение в WIndows 10.
Запустить командную строку с правами администратора и выполнить:

sc delete DiagTrack
sc config DcpSvc start=disabled
echo "" > C:\ProgramData\Microsoft\Diagnosis\ETLLogs\AutoLogger\AutoLogger-Diagtrack-Listener.etl
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v AllowTelemetry /t REG_DWORD /d 0 /f

Удалить не используемые встроенные в Windows 10 приложения.
Запустить Powershell с правами администратора и выполнить:

Get-AppxPackage Microsoft.Appconnector | Remove-AppxPackage
Get-AppxPackage Microsoft.SkypeApp | Remove-AppxPackage
Get-AppxPackage 9E2F88E3.Twitter | Remove-AppxPackage
Get-AppxPackage Microsoft.ConnectivityStore | Remove-AppxPackage
Get-AppxPackage microsoft.windowscommunicationsapps | Remove-AppxPackage
Get-AppxPackage Microsoft.Messaging | Remove-AppxPackage
Get-AppxPackage Microsoft.Getstarted | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsPhone | Remove-AppxPackage
Get-AppxPackage Microsoft.3DBuilder | Remove-AppxPackage
Get-AppxPackage Microsoft.CommsPhone | Remove-AppxPackage
Get-AppxPackage Microsoft.BingFinance | Remove-AppxPackage
Get-AppxPackage Microsoft.MicrosoftSolitaireCollection | Remove-AppxPackage
Get-AppxPackage Microsoft.BingNews | Remove-AppxPackage
Get-AppxPackage Microsoft.BingSports | Remove-AppxPackage
Get-AppxPackage Microsoft.People | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsAlarms | Remove-AppxPackage
Get-AppxPackage Microsoft.MicrosoftOfficeHub | Remove-AppxPackage
Get-AppxPackage Microsoft.Office.OneNote | Remove-AppxPackage
Get-AppxPackage Microsoft.Office.Sway | Remove-AppxPackage
Get-AppxPackage Microsoft.XboxApp | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsMaps | Remove-AppxPackage
Get-AppxPackage Microsoft.BingWeather | Remove-AppxPackage
Get-AppxPackage Microsoft.ZuneVideo | Remove-AppxPackage
Get-AppxPackage Microsoft.ZuneMusic | Remove-AppxPackage
Get-AppxPackage king.com.CandyCrushSodaSaga | Remove-AppxPackage

Получить список всех Windows online apps командой:
Get-AppXProvisionedPackage -online | Select PackageName

Затем удалить все программы, кроме Photos, Calculator, Camera, Store последовательно командами:
Remove-AppxProvisionedPackage -online -PackageName

После установки ОС, для окончательной настройки системы от слежения и удаления из корня диска C: файла hyberfil.sys, надо выполнить:

sc delete dmwappushservice
powercfg -h off

разное
Анализ реестра Windows

Как сбросить пароль администратора домена
Сброс или изменение пароля Windows с помощью Linux
Как сбросить пароль Windows
Как УЗНАТЬ пароль Windows?

Узнать ключ активации Windows

http://ru.bmstu.wiki/Microsoft_Hyper-V
Модуль Hyper-V для Windows PowerShell
Установка Hyper-V и создание виртуальной машины
PowerShell+Hyper-V
VMware PowerCLI: Управляем облаками и всем всем всем из командной строки:
Hyper-v Server 2012R2: опыт установки и настройки
Включаем дедупликацию в Windows 10
http://www.linuxloves.ru/publications/VMware_in_Azure
Установка и настройка Windows Hyper-V Server 2016
Windows, PowerShell и длинные пути

Установка Win 11 с локальной учетной записью
На первом экране OOBE нажать Shift+F10 и ввести oobe\bypassnro (без пробела!)
Компьютер уйдёт в перезагрузку и на экране подключения к интернету появится пункт У меня нет интернета.

команды, hyper-v, ssh, командная строка, windows, виртуализация, работа, консоль, powershell, сисадм

Previous post Next post
Up