Windows server без gui

Время на прочтение8 мин

Количество просмотров24K

Windows Server 2012 позиционируется как система, которой GUI для полноценной работы не нужен. При установке по умолчанию выбран пункт Server Core, добавлена возможность удаления графического интерфейса без переустановки сервера, список ролей, не нуждающихся в GUI в сравнении с 2008 R2 расширен. В своих книгах Microsoft утверждает, что работа с командной строкой естественна и вспоминает начало 90-х годов прошлого века, когда системные администраторы жаловались на бесполезную трату ресурсов графической оболочкой. В дополнение к этому Microsoft предлагает «новый» путь администрирования своих серверных операционных систем, в котором предполагается, что серверную консоль вы будете видеть только один раз – при установке операционной системы, а вся работа и настройка системы будет осуществляться удаленно: через «Диспетчер серверов», MMC-оснастки и PowerShell, который в 2012 сервере уже версии 3.0

Допустим, что первоначальная настройка сервера после установки включает в себя:

  • Настройку сетевых интерфейсов
  • Установку часового пояса
  • Включение удаленного рабочего стола
  • Переименование компьютера
  • Присоединение к домену

Вопрос в следующем: а можно ли эти задачи выполнить удаленно средствами PowerShell? Ну вот, допустим, есть удаленный сервер где-нибудь в тайге, на который местный умелец поставил 2012 сервер, пошел отметить это дело и потерял ключ от шкафа. Шкаф бронебойный, водо-, звуконепроницаемый и вообще предполагает защиту от несанкционированного доступа медведей. А настроить надо. Допустим, есть VPN или какой-нибудь «прямой провод» (очень часто вижу эту услугу в прайсах провайдеров) и сервер доступен по сети. И только по сети.

В исходных данных письмо от местного умельца:

Привет, поставил венду на сервер. IP – 169.254.23.43. Логин – Администратор. Пароль – qwe123!@#. Пока.

Готовимся

Удаленный сервер в рабочей группе, в свежеустановленном состоянии, RPC не понимает (порты на брандмауэре закрыты), не пингуется, с непроизносимым именем и московским часовым поясом в Сибири. Если бы это был 2008 R2 на этом бы наши приключения и закончились, так как все средства удаленного управления в нем по умолчанию отключены. В 2012 есть способ удаленно управлять из коробки – включенный по умолчанию WinRM, реализация стандарта WS-MAN от Microsoft. С одной стороны вроде дыра в безопасности, с другой – в нормально спроектированной сети, в которой сервера находятся в отдельном VLAN, доступ к которому ограничен для доверенных пользователей, вероятность использования этой дыры незначительна. Но все-таки есть.

Для управления удаленным сервером в рабочей группе с помощью WinRM, мы должны доверять удаленному серверу. Тут мне логика немного непонятна. По идее, удаленный сервер должен доверять нам, мы же им управляем, а не он нами. Возможно, это от неполного понимания принципов работы WS-MAN. Но в любом случае, сказать WinRM, что мы доверяем удаленному серверу нужно. Это реализовано занесением имени или IP-адреса удаленного сервера в список «доверенных хостов» (TrustedHosts)

si WSMan:\localhost\Client\TrustedHosts 169.254.23.43

Теперь как-то нужно выполнить первоначальную настройку удаленного сервера. Я знаю 2 командлета, которые могут помочь с этой задачей: Enter-Pssession и Invoke-Command. Оба используют WinRM. Enter-Pssession дает нам консоль удаленного сервера, Invoke-Command отправляет блок команд на удаленный сервер и возвращает результат их выполнения. Ниже используется Invoke-Command (мы же собрались вообще не видеть удаленную консоль).

Действия будем выполнять по следующему принципу:

  1. PowerShell
  2. Если не получается выполнить задачу через PowerShell, подключаем cmd
  3. Если не в PowerShell, не в cmd нет подходящих инструментов – WMI через PowerShell
  4. Ну и как последний вариант – ковыряние реестра также через PowerShell

Настройка сетевых интерфейсов

Делать нечего, меняем свой адрес на что-нибудь из APIPA-диапазона, ну например 169.254.0.1 и садимся думать, как удаленно изменить IP-адрес у таёжного сервера. Думать тут нечего:

  1. Определить на каком адаптере производить изменения
  2. Отключить DHCP
  3. Назначить статический адрес для сервера с маской подсети и шлюзом по умолчанию.
  4. Hазначить DNS-серверы

И все это желательно не отцепляясь от сервера.

В PowerShell 3.0 появилась целая группа Network Adapter Cmdlets, которая позволяет нам делать с сетевыми адаптерами все что угодно.

Получаем объект сетевого адаптера и сохраняем его в переменной $adapter. Ethernet – это новое имя для «Подключение по локальной сети». Это изменение, несмотря на кажущуюся незначительность, очень радует.

$adapter = Get-NetAdapter Ethernet

Отключаем DHCP

$adapter | Set-NetAdapter –Dhcp disabled

Меняем IP-адрес на нормальный с необходимой маской и шлюзом. Для этого существует другая группа Net TCP/IP Cmdlets

$adapter | New-NetIPAddress 192.168.0.5 –PrefixLength 24 –DefaultGateway 192.168.0.1

Добавляем DNS-серверы. Третья группа DNS Client Cmdlets

Set-DnsClientServerAddress Ethernet –addresses (“192.168.0.2”,”192.168.0.3”)

Как все это выполнить на удаленном сервере? Сделать скрипт и с помощью Invoke-Command запустить его на выполнение.

Сохраним этот набор команд где-нибудь с именем скрипта, например, remotechangeip.

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

По умолчанию в PowerShell разрешается работа только в интерактивном режиме, выполнение любых скриптов запрещено (restricted). Для выполнения скриптов нам нужно либо remotesigned (цифровая подпись требуется для скриптов, загруженных из интернета), либо unrestricted (при выполнении неподписанного скрипта, загруженного из интернета будет выдаваться предупреждение о ненадежности источника). Если на безопасность совсем положить, можно поставить bypass (будет выполняться все без лишних вопросов). Eсли у вас есть собственный сертификат, выданный доверенным издателем, и вы не ленитесь подписывать с его помощью свои скрипты – вам нужен allsigned (в таком случае, вы наверное и сами это знаете). У меня сертификата нет, поэтому политику я устанавливаю remotesigned.

Set-ExecutionPolicy remotesigned

Политика выполнения скриптов устанавливается на локальном компьютере, на удаленном такой необходимости нет, потому что Invoke-Command перед выполнением скрипта на удаленном компьютере преобразовывает файл скрипта в просто набор команд. Соответственно, на удаленном компьютере выполняется не скрипт (файл с расширением .ps1), а набор команд, которым политика выполнения скриптов по барабану.

Отправляем наш скрипт на удаленный сервер.

Invoke-Command 169.254.23.43 C:\scripts\remotechangeip.ps1 –Credential Администратор

Пароль от учетной записи Администратор у нас есть в письме. После выполнения получаем сервер со статическим адресом 192.168.0.5 с маской подсети /24, шлюзом по умолчанию 192.168.0.1 и DNS-серверами 192.168.0.2 и 192.168.0.3

Еще нужно не забыть изменить IP в TrustedHosts, иначе на этом наше удаленное администрирование закончится.

$newvalue = ((ls WSMan:\localhost\Client\TrustedHosts).value).replace("169.254.23.43","192.168.0.5")
si WSMan:\localhost\Client\TrustedHosts $newvalue

Изменение часового пояса

Я очень долго пытался решить эту задачу с помощью PowerShell. Я нашел функцию, меняющую часовой пояс локально. Но если мы попытаемся выполнить эту функцию через Invoke-Command, получим граблями по лбу в виде «Имя Set-Timezone не распознано как имя командлета, функции, файла сценария или выполняемой программы».

Invoke-Command при выполнении естественно не копирует с локальной машины, а выполняет имеющиеся на удаленном сервере командлеты. Это понятно и логично. Задача была ясна — перед выполнением Invoke-Command нужно сбросить функцию на удаленный сервер. Но… тут мне стало лень.

Если заглянуть в код функции, то становится понятно, что она всего лишь проверяет версию ОС и в зависимости от нее выполняет либо timedate.cpl (XP и ниже), либо tzutil (Vista и выше). Проверять версию ОС незачем, мы ее знаем. Поэтому просто изменим часовой пояс с помощью tzutil

Invoke-Command 192.168.0.5 {tzutil /s “North Asia Standard Time”} –Credential Администратор

WMI

Можно попробовать установить часовой пояс, используя WMI. Выглядеть это будет так:

$strComputer = "."
$objWMI = gwmi win32_computersystem" -computername $strComputer
$objWMI.CurrentTimeZone = 207
$objWMI.Put()

Что здесь происходит? Точка (.) говорит, что мы работаем с локальным компьютером. Обращаемся на локальном компьютере к классу win32_computersystem. Присваиваем свойству CurrentTimeZone значение 207, соответствующее “North Asia Standard Time”. И методом Put сохраняем изменение часового пояса.

Также сохранить и передать скрипт на удаленный компьютер с помощью Invoke-Command. По-моему, использовать tzutil проще.

Значения часовых поясов можно взять отсюда или из вывода tzutil /l
Ну и без PowerShell все-таки не обошлось.

Включение удаленного рабочего стола

В PowerShell 3.0 появилось множество командлетов, для работы с RDS. Их группа так и называется Remote Desktop Cmdlets. Но, как я понял, они рассчитаны на работу с RDS-сервером, просто включить удаленный рабочий стол для администратора с их помощью нельзя.

Остается два способа включения рабочего стола. Через WMI-вызовы и

неправильный

через модификацию реестра. Модификация реестра мне никогда не нравилась. Одно неловкое движение пальца и никто не гарантирует, что сервер поднимется после перезагрузки.

Что касается включения удаленного рабочего стола, то модификация ключа HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections, которому нужно присвоить значение 0, чтобы разрешить удаленный рабочий стол:

во-первых, требует перезагрузки, во-вторых

, не добавляет исключение для удаленного рабочего стола в правила брандмауэра.

Поэтому я буду использовать WMI-класс win32_terminalservicesetting и его метод setallowtsconnections, что позволит обойтись без перезагрузки и добавить правила исключения в брандмауэре одной командой.

Invoke-Command 192.168.0.5 {(gwmi win32_terminalservicesetting -namespace root\cimv2\terminalservices).setallowtsconnections(1,1)} –Credential Администратор

Теперь у нас есть доступ к таёжному серверу по RDP! Можно радоваться? Представим, что единственный канал связи с внешним миром у удаленного сервера через спутник с грабительскими тарифами, диалапной скоростью, зашкаливающим пингом и продолжим настраивать сервер удаленно через PowerShell.

Переименование сервера и присоединение его к домену

Тем более, что осталось совсем немного.

По идее, командлет Add-Computer позволяет переименовать компьютер при присоединении его к домену. Но на практике, я сталкивался с тем, что при присоединении к домену и одновременным переименованием с помощью этой команды, компьютер входит в домен под своим старым именем. И понеслась – вывести компьютер из домена, перезагрузиться, удалить учетку в AD, запустить репликацию если контроллеров несколько, подождать, переименовать компьютер, перезагрузиться, ввести в домен, перезагрузиться.

Поэтому я предпочитаю операции переименования компьютера и ввода в домен выполнять отдельно.

Переименование

Invoke-Command 192.168.0.5 {rename-computer taiga -restart} -credential Администратор

Как только нам вернули управление, значит удаленный сервер перезагружается. Проверить результат команды (и готовность сервера) можно так:

Invoke-Command 192.168.0.5 {$env:computername} -credential Администратор

И наконец-то ввод в домен

Invoke-Сommand 192.168.0.5 {add-computer contoso.com -credential contoso.com\domainadmin -restart} -credential Администратор

Заканчиваем

Все поставленные в начале задачи выполнены. Теперь уже можно думать, как дальше жить и где искать этот чертов ключ от шкафа.

И напоследок небольшая шпаргалка по CMD и PowerShell.

CMD PowerShell
Изменить сетевые настройки
netsh interface ip set address name = “Ethernet” static 192.168.0.5 255.255.255.0 192.168.0.1 1
netsh interface ip set dns name = “Ethernet” static 192.168.0.2
netsh interface ip add dns name = “Ethernet” static 192.168.0.3
$adapter = Get-NetAdapter Ethernet
$adapter | Set-NetAdapter –Dhcp disabled
$adapter | New-NetIPAddress 192.168.0.5 –PrefixLength 24 –DefaultGateway 192.168.0.1
Set-DnsClientServerAddress Ethernet –addresses (“192.168.0.2”,”192.168.0.3”)
Изменить часовой пояс
tzutil /s “North Asia Standard Time”
$strComputer = "."
$objWMI = gwmi win32_computersystem" -computername $strComputer
$objWMI.CurrentTimeZone = 207
$objWMI.Put()
Включить удаленный рабочий стол
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
(gwmi win32_terminalservicesetting -namespace root\cimv2\terminalservices).setallowtsconnections(1,1)
Переименовать сервер
netdom renamecomputer %computername% /newname:taiga /reboot
rename-computer taiga –restart
Присоединить к домену
netdom join taiga /d:contoso.com /ud:contoso.com\domainadmin /pd:* /reboot
add-computer contoso.com -credential contoso.com\domainadmin -restart

Объединяет их одно: им всем для удаленной работы нужен RPC, по умолчанию закрытый брандмауэром. Поэтому единственным способом доставить их на удаленный компьютер, является WinRM.

А Enter-Pssession у меня не заработал :)

Использован материал из:
MSDN
Technet

Server Core – особый режим установки Windows Server, это среда, в которой отсутствует графический интерфейс и средства управления, а также некоторые серверные роли и компоненты. Управление Windows Server Core предполагается из командной строки, с помощью PowerShell, или же с других серверов/рабочих станций с установленным RSAT (RSAT для Windows 7, RSAT для Windows 10). Впервые Core-режим работы серверной ОС Microsoft появился еще в Windows Server 2008. Основные преимущества Server Core перед полными инсталляциями Windows Server: экономия системных ресурсов, повышенная стабильность и безопасность за счет меньшего количества компонентов, упрощение обслуживания, меньший даунтайм при установке обновлений, сокращение поверхности атаки злоумышленниками.

Одним из главных недостатков в Windows Server 2008 Core являлась невозможность переключение в режим с графической оболочкой (GUI) или в обратную сторону (из GUI в Core режим). В случае возникновения такой необходимости приходилось целиком переустанавливать ОС.

В Windows Server 2012 Microsoft решила убрать это ограничение, кроме того появился еще один вариант работы сервера — минимальный интерфейс сервера (Minimal Server Interface). В этом режиме отсутствуют проводник, Internet Explorer, рабочий стол и начальный экран).

В Windows Server 2012 теперь можно установить и настроить сервер в знакомом администраторам GUI, после чего перевести сервер в Core режим. Этот подход упрощает процедуру настройки сервера, не вынуждая администраторов разбираться в подчас достаточно сложных консольных командах и командлетах PoSh.

Итак, в Windows Server 2012 возможна работа в нескольких режимах, между которыми в процессе эксплуатирования и настройки сервера может переключаться администратор.

  • Full Server with GUI – полноценный сервер с GUI
  • Server Core with GUI Management (Minimal Server Interface) – минимальная интерфейс сервера с Windows Server 2012, включающий графические утилитаты управления сервером
  • Server Core – режим командной строки

Отметим, что в режиме Minimal Server Interface система занимает примерно на 400 мб меньше места, чем полноценная ОС с GUI. В случае с Server Core экономия достигает порядка 4Г дискового пространства.

Далее мы разберем способы переключения между данными режимами работа новой серверной платформы от Microsoft

Переключение из режима Server Core в GUI

В том случае, если сервер был установлен в режиме Windows Server 2012 Core, в установленных компонентах отсутствуют необходимые файлы для установки GUI (концепция минимизации занимаемого места на диске в Core режиме). По умолчанию, если нужные компоненты отсутствуют на диске, система пытается скачать их с сайта Windows Update. Если доступ в интернет у сервера отсутствует, нам придется указать альтернативные источник установки (с помощью команды powershell Install-WindowsFeature с параметром -Source).

Для установки графического интерфейса нам понадобится дистрибутив Windows Server 2012. Допустим, мы вставили (смонтировали iso образа) дистрибутив Windows Server 2012 в устройство, которому назначена буква D:\.

Далее нужно определить индекс установленной версии Windows Server 2012 в установочном wim образе. Для этого наберите команду, отображающую информацию о содержимом установочного образа:

Dism /get-wiminfo /wimfile:D:\sources\install.wim

Т.к. на сервере установлен Windows Server 2012 Datacenter, нас интересует дистрибутив SERVERDATACENTER, индекс которого 4.

Далее нужно установить недостающие компоненты (Server GUI) из wim файла командой:

Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart -source:wim:d:\sources\install.wim:4

Переключение в графический GUI в windows Server 2012

Процедура установки займет порядка 5-10 минут. В том случае если при установке будут наблюдаться проблемы, попробуйте отключить сетевые карты, чтобы Windows не пыталась скачать файлы с сайта Windows Update.

windows Server 2012 GUI с помощью powershell

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

Графические компоненты Windows Server 2012 можно также установить и с помощью DISM, ту же самую операцию выполним с помощью двух команд:

Dism /Online /Enable-Feature /FeatureName:Server-Gui-Mgmt /All /Source:wim:D:\sources\install.wim:4
Dism /Online /Enable-Feature /FeatureName:Server-Gui-Shell /Source:wim:D:\sources\install.wim:4

В том случае, если сервер изначально был установлен в GUI режиме, который затем отключили, его можно вернуть командой:

Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart

Переключение из GUI режима в Core

Удалить GUI режим в Win Server 2012 в Core можно несколькими способами:

  • С помощью Powershell
  • Из графического интерфейса консоли Server Manager

Запустите строку PoSh и выполните команду

remove-WindowsFeature Server-Gui-Shell,Server-Gui-Mgmt-Infra -restart

Windows Server 2012 удалить GUI powershell

После выполнения команды сервер автоматически перезагрузится и загрузили уже в Core-режиме.

Аналогом командлета remove-WindowsFeature является Uninstall-WindowsFeature команда, и чтобы перейти из режима Server with GUI в режим Server Core воспользуйтесь командами:

Import-Module ServerManager
Uninstall-WindowsFeature Server-Gui-Mgmt-Infra –restart

Если вам удобнее пользоваться графическими утилитами, откройте консоль Server Manager:

  1. Выберите пункт Remove Roles or Features
  2. Снимите флажки с Graphical Management Tools and Infrastructure и Server Graphical Shell
  3. После окончания работы мастера перезагрузите сервер
    Отключаем графический GUI с помощью консоли Server Manager в Win 2012

Переключение из Windows Server 2012 GUI в Minimal Server interface

В режиме работы Minimal Server Interface в системе присутствуют все базовые графические инструменты управления сервером (оснастки MMC, консоль Server Manager, элементы панели управления), однако такие компоненты как Windows Explorer, Internet Explorer 10, рабочий стол, начальный экран Start screen отсутствуют.

С помощью Powershell переключиться в режим Minimal Server Interface можно с помощью команды:

remove-WindowsFeature Server-Gui-Shell -restart

windows server 2012 minimal server interface

Тоже самое в графической консоли Server Manager:

  • Откройте консоль Server Manager
  • Выберите Remove Roles or Features
  • Снимите флажок с элемента Server Graphical Shell
  • По окончании работы мастера перезагрузите сервер

Переключение из Core в Minimal Server Interface в Windows 2012

Откройте консоль Powershell и выполните команду:

Install-WindowsFeature Server-Gui-Mgmt-Infra -restart -source:wim:d:\sources\install.wim:4

Переключение из core режима в minimal interface в win server 2012

  • Menu

DlGot

  • Search for

Apache



danroo

Send an email

0 Less than a minute

Windows 2022 Server without GUI

Windows 2022 Server without GUI

#Windows #Server #GUI

“Taro Lay”

Let play something different. We will install Windows 2022 Server Core, a Windows Server without GUI. A windows server with only a PowerShell windows to display.
On the top of that we install Apache Web Server with integrated PHP 8.2 and also MariaDB 10.11 Database server. Basically its a…

source



danroo

Send an email

0 Less than a minute

danroo

    Related Articles

    Setup Azure Load Balancer with two working web servers

    Setup Azure Load Balancer with two working web servers

    Web server failed to start. Port 8080 was already in use in

    Ski Aggu – Friesenjung ft. Villager, Alphastein (Official

    Apache Web Server and Weblogic Integration – PART 1

    Apache Web Server and Weblogic Integration – PART 1

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Comment *

    Name *

    Email *

    Website

    Save my name, email, and website in this browser for the next time I comment.


    Back to top button

    Сообщение от LENALENALENA

    только нормальный гайд а не те что с хабра-они не помогли.

    Сообщение от pEntity

    Core не конвертируется в GUI

    На хабре пример установки через FOD, который дополняет для поддержки приложений с GUI. К сожалению не всех. Т.е. можно будет запускать explorer, некоторые утилиты, но вряд ли полноценный офис, фотошоп и тем более рабочий стол привычного компа.

    Поэтому, если требуется полный рабочий стол и все его прибамбасы, придется согласиться с pEntity.
    Версия Core для размещения в облаке или серверах, где каждые мегабайты на диске и в оперативной памяти, это затраты на аренду сервера. Которые у всех есть желание снизить. Поэтому используется этот минимализм.
    Но с другой стороны, если развернут CORE, зачем в этой системе полноценный десктоп и прочая графика. Это два противоречащих требования и понятия.
    Когда-то развернул и сдал 19-й CORE. Ради спортивного интереса развернул через FODGUI. Будет некоторая сложность найти именно нужный FOD под конкретную версию Windows.
    Простые проги запускаются. Была идея прокачать дальше, сдать как сервер-терминалов, где конечно используется офис или либбре. Не вышло. Точнее не стал искать и устанавливать требуемые библиотеки. Думаю это реально, но не имея подобной задачи, пропал интерес. Всё-таки этот софт и система точно не для этого.
    конфиги и результаты внизу:

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

    PS C:\Windows\system32\WindowsPowerShell\v1 .0> Get-Host
    Name : ConsoleHost
    Version : 5.1.17763.592
    InstanceId : 0ab904e5-96cc-450a-a1a7-41a75ee84f7b
    UI : System.Management.Automation.Internal.Ho st.InternalHostUserInterface
    CurrentCulture : ru-RU
    CurrentUICulture : ru-RU
    PrivateData : Microsoft.PowerShell.ConsoleHost+Console ColorProxy
    DebuggerEnabled : True
    IsRunspacePushed : False
    Runspace : System.Management.Automation.Runspaces.L ocalRunspace

    PS C:\Windows\system32\WindowsPowerShell\v1 .0> GCI -Path ‘HKLM:\Software\Microsoft\NET Framework Setup\NDP’
    Hive: HKEY_LOCAL_MACHINE\Software\Microsoft\NE T Framework Setup\NDP

    Name Property
    —- ———
    CDF
    v4
    v4.0 (default) : deprecated

    PS C:\Windows\system32\WindowsPowerShell\v1 .0> $PSVersionTable

    Name Value
    —- ——
    PSVersion 5.1.17763.592
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
    BuildVersion 10.0.17763.592
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    GCI ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -recurse |Get-ItemProperty -name Version,Release -EA 0 | Where { $_.PSChildName -match ‘^(?!S)\p{L}’} | Select PSChildName, Version, Release
    PSChildName Version Release
    ———— ——- ——-
    Client 4.7.03190 461814
    Full 4.7.03190 461814
    Client 4.0.0.0

    PS C:\Windows\system32\WindowsPowerShell\v1 .0> Get-WindowsFeature *FrameWork* |FT -Wrap
    Display Name Name Install State
    ———— —- ————-
    [ ] Функции .NET Framework 3.5 NET-Framework-Features Available
    [ ] .NET Framework 3.5 (включает .NET 2.0 и 3.0) NET-Framework-Core Removed
    [X] Функции .NET Framework 4.7 NET-Framework-45-Features Installed

    [X] .NET Framework 4.7 NET-Framework-45-Core Installed
    [ ] ASP.NET 4.7 NET-Framework-45-ASPNET Available
    **********Ошибки запуска либре офис*****************
    PS C:\Program Files\LibreOffice\program> soffice.exe
    soffice.exe : Имя «soffice.exe» не распознано как имя командлета, функции, файла сценария или вы
    полняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути
    , после чего повторите попытку.
    строка:1 знак:1
    + soffice.exe
    + ~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (soffice.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    Suggestion [3,General]: Команда soffice.exe не найдена, однако существует в текущем расположении. По умолчанию оболочка Windows PowerShell не загружает команды из текущего расположения. Если вы уверены в надежности команды, введите «.\soffice.exe». Для получения дополнительных сведений вызовите справку с помощью команды «get-help about_Command_Precedence».
    PS C:\Program Files\LibreOffice\program> sbase.exe
    sbase.exe : Имя «sbase.exe» не распознано как имя командлета, функции, файла сценария или выполн
    яемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, по
    сле чего повторите попытку.
    строка:1 знак:1
    + sbase.exe
    + ~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (sbase.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    Suggestion [3,General]: Команда sbase.exe не найдена, однако существует в текущем расположении. По умолчанию оболочка Windows PowerShell не загружает команды из текущего расположения. Если вы уверены в надежности команды, введите «.\sbase.exe». Для получения дополнительных сведений вызовите справку с помощью команды «get-help about_Command_Precedence».
    PS C:\Program Files\LibreOffice\program> .sbase.exe
    .sbase.exe : Имя «.sbase.exe» не распознано как имя командлета, функции, файла сценария или выпо
    лняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути,
    после чего повторите попытку.
    строка:1 знак:1
    + .sbase.exe
    + ~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (.sbase.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    PS C:\Program Files\LibreOffice\program>

    Windows Server Core. Преимущества использования.

     Windows Server Core или «Сервер Ядра» (название гордо дали переводчики технической литературы  ) — редакция Windows Server без GUI (графического интерфейса). Впервые увидела свет с релизом Windows Server 2008. Ее заслужено классифицировали в категорию «брак» ввиду сырой реализации и наличию множества ограничений по функционалу. Благо, Microsoft не похоронил концепцию сервера без GUI и в последующих обновлениях она получила развитие.

    О редакции

    Windows Server доступен в двух видах: Server Core и Desktop Experience (GUI).

    Так же, существует редакция Microsoft Hyper-V Server. Она бесплатна и ее не следует путать с его братьями и сестрами: Windows Server Standard или Datacenter с установленной ролью Hyper-V.

    Основная задача Core редакции — предоставление более защищенной среды выполнения для работы приложений и сервисов. Если брать обычный сервер, присутствие в его инсталляции GUI кроме очевидного удобства администрирования несет еще и дополнительные тысячи строк кода. Этот код может содержать потенциальные уязвимости, которые в свою очередь окажут влияние на уровень безопасности системы в целом.

    Чтобы приложение могло работать в Core режиме, у него должны отсутствовать все зависимости от GUI. Например, SQL Server такой возможностью обзавелся начиная с 2016 версии, а Exchange Server только с 2019. Если же брать роли самого сервера, в 95% случаев они прекрасно могут работать и работают без графики.

    ополнительным бонусом можно считать возможность редакции в отключении поддержки WOW64. Если очень кратко — это подсистема Windows для запуска приложений х86 в х64 битных ОС. Другими словами, после ее отключения любой 32-х битный код перестанет работать. Если вы точно знаете, что на сервере будут отсутствовать х86 приложения — смело отключайте. Например, на файл-сервере точно можно.

    К маленьким, но все же значимым преимуществам Core редакции относятся еще уменьшенные объемы системного диска и количества обновлений. Оба преимущества непосредственно связаны с отсутствием GUI. В первом, на диске просто отсутствуют их бинарники, а во втором — для него не требуются обновления.

    Управление

    Отдельной темой для разговора будет управление. В принципе, на данный момент разница в управлении Core редакцией и с GUI отсутствует. Средства управления можно разделить на утилиты CMD, оснастки MMC и PowerShell.

    До 2008-го сервера, Microsoft болел страшным недугом – «болезнью маленьких утилиток». Симптомы проявлялись в написании каждой командой разработчиков своего набора утилиток. Они обладали своим синтаксисом и решали, порой, крайне специфические задачи. Подобные явления обеспечивали дополнительную головную боль, так как разный синтаксис и способ применения крайне усложнял их использование.

    Графические средства управления представляли собой расширяемую MMC консоль. Идея была в создании единого фреймворка, под который уже каждая группа разработчиков писала свои расширения, которые уже и выполняли свои специфические функции. Многие консоли MMC доступны и сейчас и входят в состав GUI сервера или пакета RSAT для клиентских операционных систем.

    И опять же, начиная с 2008-го сервера обстоятельства стали меняться в лучшую сторону, в сторону PowerShell. Для Server Core, этот инструмент имеет огромное значение, так как предоставляет основные возможности удаленного управления. Оно выполнено поверх сервисов WinRM а не RPC.

    RPC — это старая технология, живущая еще со времен NT 4.0 Прописка в клубе пенсионеров автоматически означает наличие огромного багажа совместимостей. Именно это дает отличное подспорье для реализации ряда целевых атак. В большинстве случаев, грамотная настройка помогает сгладить самые острые шероховатости, но все же, технология старая и имеет ряд конструктивных недостатков. Более новая технология управления, основанная на протоколе WS-Management, реализуется в WinRM. Именно на WinRM основывается функционал удаленного управления PowerShell. Начиная с Windows Server 2012, он настраивается автоматически и принимает входящие подключения в доменных и приватных сетях.

    Относительно новое, но крайне перспективное средство управления — Windows Admin Center. WAC дает потрясающие возможности единой точки управления инфраструктурой Windows Server в виде веб приложения. Я планирую отдельно сделать цикл статей, где расскажу о процессе установки и основным принципам работы с этим продуктом. 

    Выводы

    Windows Server Core однозначно заслуживает внимания. Хоть он и может показаться сложным в использовании из-за отсутствия графических элементов управления, Server Core является безопасной платформой для разворачивания сервисов. Современные средства управления PowerShell и Windows Admin Center — в значительной степени сглаживают отсутствие привычного GUI, одновременно предоставляя новые возможности управления.

    Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Windows dhcp уникальный код
  • Timer resolution windows 10 что это
  • Windows os emulator for mac os
  • Gnu zip для windows
  • Windows media player for mp4