Консольные команды windows server 2008
Windows всегда ассоциировалась с графическим интерфейсом, и долгое время win-админы считали благом отсутствие необходимости запоминать консольные команды. Но с увеличением возможностей использование GUI уже не казалось таким простым. Настройки приходится искать среди многочисленных вложенных диалоговых окон. Попытки все оптимизировать, менять местами и добавлять новые визарды только усиливали путаницу. Появился Server Core, вместо одного сервера приходится управлять уже десятками, нередко выполняя однотипные операции. В итоге админы вернулись к консоли.
На самом деле развитие консольных утилит все это время тоже не стояло на месте. Список команд не сильно изменился: net, netdom, whoami, скрипт активации slmgr.vbs, программа управления службами sc, сетевые утилиты для настройки и диагностики ipconfig, netsh, netstat/nbtstat, arp/getmac, ping, tracert, nslookup и многие другие. После анонса PowerShell появилась официальная информация, что привычные утилиты развиваться больше не будут, на смену им придут командлеты.
Такая судьба постигла консольный вариант диспетчера сервера ServerManagerCmd.exe и утилиту установки компонентов OCSetup.exe, которые, появившись в Win2008, пропали уже в Win2012. Теперь для установки компонентов из консоли используются командлеты Install-WindowsFeature и Add-WindowsFeature. Консольные утилиты по-прежнему привычнее, чем командлеты, но результат, полученный при помощи PowerShell, позволяет выбирать больше параметров, фильтровать их, обрабатывать в скриптах. А главное — теперь нужные данные можно получить не только с локальной, но и с удаленной системы, и в удобном виде. Все это говорит о том, что нужно уже быть готовым к переменам.
В последних редакциях ОС ярлык для запуска cmd.exe спрятали подальше в меню. Правда, и особой необходимости в его использовании нет, так как все традиционные консольные команды можно вводить непосредственно в консоли PowerShell (хотя есть и нюансы), обладающей несомненным преимуществом — автодополнением (по Tab). Постепенно на замену старым добрым утилитам появляются соответствующие командлеты, которые выдают аналогичный результат. Попробуем разобраться со всеми операциями по порядку, рассмотрим типичные задачи с использованием консольных команд и PowerShell.
Проверяем состояние сетевых интерфейсов при помощи PowerShell
Сразу после установки операционная система получает имя, сгенерированное случайным образом. Чтобы переименовать систему и подключить ее к домену, используется утилита netdom:
Те же операции при помощи PowerShell выглядят даже понятней.
После установки системы или компонента, возможно, потребуется настройка режима запуска сервиса. В консоли для этого есть две команды:
А вот командлетов для управления запуском сервисов несколько: Get-Service, Start-Service, Set-Service, Stop-Service, Resume-Service. Их назначение говорит само за себя.
Sconfig.cmd
Запоминать команды админы Win не очень любят, в системе можно найти удобную оболочку для большинства консольных команд Sconfig.cmd. Изначально она разрабатывалась для Server Core, но в Win2012R2 доступна и в режиме полной установки сервера. Sconfig не требует знания всех ключей и позволяет, перемещаясь по 15 пунктам, быстро произвести основные установки или выполнить некоторые команды: добавить сервер в домен или рабочую группу, сменить имя компьютера, добавить локального администратора, настроить удаленное управление через WinRM и удаленный рабочий стол, настроить сеть, Windows Update, время и дату, перезагрузить и выключить компьютер. Нужно помнить, что скрипт использует стандартные консольные утилиты и если они пропадут в следующем релизе, то, скорее всего, не будет и Sconfig.
Sconfig.cmd упрощает работу ленивым админам
А вот с монтированием сетевых дисков не все так просто. Традиционно эта операция выполняется при помощи net use:
Его аналогом считается командлет New-PSDrive (от PowerShell Drive), но здесь есть проблема, которая многим неочевидна и порождает кучу вопросов.
Чтобы постоянно использовать диск, необходимо экспортировать сеанс, в котором добавлен диск, или сохранить команду New-PSDrive в профиле PowerShell, или изначально использовать командлет New-Object:
И только в PowerShell 4.0 появился параметр –Persist, позволяющий монтировать PS-диски постоянно.
Для работы с дисками и разделами консоль Windows предлагает две утилиты: diskpart и fsutil. Они не очень удобны и информативны, а поэтому малопопулярны и их часто заменяют альтернативными разработками. Получим статистику по разделу.
Команда «Get-Command disk» выдаст несколько командлетов, но в нашем примере они не очень помогают, и, чтобы получить информацию о свободном месте, по-прежнему приходится обращаться к WMI:
Доступ к файлам в Win традиционно регулируется двумя утилитами — takeown и icacls (есть еще и cacls, но она признана устаревшей), вполне справляющимися со своими обязанностями. Например, чтобы сделать текущую учетную запись (должна входить в группу админов) владельцем каталога, достаточно ввести:
Утилита icacls позволяет управлять списками контроля доступа. Для примера, сохраним ACL в файл и восстановим его:
Та же операция при помощи PowerShell выглядит проще:
Управление BYOD при помощи PowerShell
Одна из самых больших проблем, с которыми сталкиваешься при работе с моделью BYOD, — отсутствие управления устройствами пользователей. В Win2012R2 этим заправляет Device Registration Service (DRS), при регистрации на устройство устанавливается сертификат, а в AD создается новый объект устройства.
Этот объект устанавливает связь между пользователем и устройством, создавая нечто вроде двухфакторной аутентификации. Пользователи получают доступ к корпоративным ресурсам, которые были недоступны, когда они работали за пределами доменной сети. Для работы потребуется роль Active Directory Federation Services (AD FS) и собственно служба DRS (устанавливается при помощи командлета Install-AdfsFarm). Теперь инициализируем службу и приступаем к регистрации устройств пользователей.
В консоли AD FS Management переходим к Authentication Policies, выбираем Edit Global Primary Authentication и активируем Enable Device Authentication. Теперь, используя командлет Get-AdfsDeviceRegistration, можем просматривать и подтверждать устройства (подробнее).
Комплект консольных сетевых утилит достаточно хорошо известен администраторам, ведь их приходится использовать довольно часто, как при установке, так и для диагностики. Настраивают сетевой интерфейс при помощи netsh interface. Для примера просмотрим список и для одного из доступных установим IP и DNS-сервер:
Смотрим сетевые настройки
Для установки и изменения параметров сетевого интерфейса при помощи PowerShell 3.0 и выше используются командлеты New-NetIPAddress и Set-NetIPAddress.
Причем New-NetIPAddress позволяет задавать несколько IP для одного интерфейса. Вместо InterfaceAlias можно использовать индекс InterfaceIndex, который легко узнать в выводе Get-NetIPInterface.
На смену команде route пришел набор командлетов, очень простых и понятных в использовании.
Таблица маршрутизации, полученная при помощи route и Get-NetRoute
Но иногда вместо одной команды придется запомнить несколько командлетов. Так, состояние сетевых интерфейсов традиционно можно узнать при помощи ipconfig. До Win2012/8, чтобы сделать то же самое при помощи PowerShell, приходилось обращаться непосредственно к WMI. Например, нам нужны МАС- и IP-адреса:
Переменная patch
В качестве команд Win может принимать любой файл с расширением exe, bat, cmd, com, js, msc и vbs, который расположен в текущем каталоге или прописан в переменной PATH. Просмотреть значение PATH очень просто. Для этого вводим «echo %PATH%» или используем команду set (set > filename.txt). В консоли PowerShell — «echo $Env:PATH» или «Get-ChildItem Env:». Чтобы изменить, просто дописываем нужный каталог:
или используем GUI (My Computer -> Свойства системы -> Дополнительно -> Переменные среды -> Path). Средствами PowerShell изменить значение можно, установив SetEnvironmentVariable:
И только в PowerShell 3.0 появился простой аналог ipconfig, точнее, несколько. Например, командлет Get-NetIPAddress выдает подробную информацию об интерфейсах, а Get-NetIPConfiguration (алиас gip) позволяет получить информацию о сетевых настройках: IP интерфейса, шлюза и DNS. Добавив дополнительные параметры, например –Detailed, получим больше данных.
Профильтровав их вывод, мы можем заменить «ARP –a» выводящую таблицу МАС-адресов и GETMAC — отображающую MAC-адреса сетевых адаптеров локального или удаленного компьютера. Есть уже и готовые скрипты. Например, PingMultipleServerWithTraceroute.ps1 (goo.gl/0iLeyg) позволяет проверить подключение к нескольким серверам и запустить аналог tracert к неответившим системам.
Настройка брандмауэра Windows в режиме повышенной безопасности WFAS (Windows Firewall with Advanced Security) традиционно производится при помощи netsh advfirewall, появившейся в ОС начиная с Win2k8/Vista и практически не изменившейся с тех пор. Контекст advfirewall позволяет использовать семь команд (export, import, dump, reset, set, show и help) и четыре субконтекста (consec, firewall, mainmode и monitor). Просмотреть подробности можно, использовав ключ help или '/?', да и в Сети доступно достаточное количество примеров. Например, команда set позволяет сконфигурировать профили, show — просмотреть состояние. Смотрим настройки по умолчанию, активируем профили и для Domain действием по умолчанию установим блокировку.
Официальная информация гласит, что в следующих релизах netsh может пропасть, а использовать следует командлеты PowerShell, позволяющие к тому же контролировать еще больше функций. Командлеты NetSecurity доступны только в PS 3.0, для их использования в Win2012/8 их необходимо импортировать Import-Module NetSecurity. При помощи Get-Command firewall получим список из 27 командлетов (полный список командлетов модуля — goo.gl/Aj9Mg4). Ситуацию упрощает то, что названия командлетов пересекаются с командами netsh.
Настройкой Windows Firewall можно управлять при помощи почти 30 командлетов
Теперь тот же пример, но средствами PS:
Как видим, командлеты выглядят даже проще. Вместо параметра All можно указать на конкретный профиль: –Profile Domain,Public,Private.
Смотрим профили Windows Firewall
Доступны и прочие функции. Например, можем исключить Ethernet-интерфейс из профиля Public.
Чтобы вернуть настройки в исходное состояние, достаточно вместо Ethernet установить NotConfigured. Дополнительные параметры командлета Set-NetFirewallProfile позволяют настроить журналирование, добавить IP, порт, протокол и многое другое. Все манипуляции с правилами производятся при помощи семи командлетов: New|Set|Copy|Enable|Disable|Remove|Rename-NetFirewallRule. Чтобы просмотреть установленные правила, используем командлет Get-NetFirewallRule, при помощи фильтров мы можем легко отобрать нужные. Например, блокирующие и все, что касается IE:
Создадим правило, блокирующее исходящие соединения для IE в двух профилях.
Теперь к правилу можем добавить протокол, порт и IP удаленной и локальной системы.
При создании или изменении мы можем группировать правила, используя параметр –Group, и впоследствии управлять не одним правилом, а всеми входящими в группу, при помощи -DisplayGroup. Чтобы отключить правило, воспользуемся
Вполне очевидно, что в будущем админу все больше и больше придется выполнять настройки не при помощи GUI, а используя средства командной строки. Это быстрее, позволяет автоматизировать практически все задачи и легко управляться с большим количеством серверов.
Список параметров командлета можно узнать при помощи Show-Command, например Show-Command Get-NetFirewallRule.
Практически во всех операционных системах множество функций можно запустить не только «кликом», но и с помощью определенной команды. Это касается и версии Windows для серверов. Большинство из тех команд, что используются для управления сервером, схожи с теми, что предназначены для обычной Windows. Я перечислю основные команды, которые в той или иной степени будут полезны при управлении ОС Windows Server.
Как запустить команды в терминале Windows Server
Как и в десктопной версии, все указанные команды можно запустить с помощью командной строки.
Для получения указанных прав нужно действовать следующим образом:
- Открыть строку поиска в панели «Пуск».
- Ввести в поле запрос «командная строка», можно и cmd.
- Когда соответствующее приложение выйдет, нажать на пункт «Запуск от имени администратора».
Команды можно запускать с помощью утилиты Windows PowerShell, которую также можно найти среди предустановленных программ.
Команды для Windows Server
Все указанные команды предназначены для самых разных задач. Я постараюсь рассортировать их по функционалу. В общей сложности вышло 65 команд, без учета дополнительных параметров и атрибутов в некоторых из них.
Настройка подключений
arp – данная команда предназначена для просмотра и изменения записей в кэше ARP. Это протокол, представляющий собой таблицу соответствия IP-адресов с MAC-адресами сетевых устройств.
dnscmd – диагностирует, исправляет ошибки в конфигурациях и еще выполняет множество других действий при администрировании сервера DNS.
ftp – передает туда и обратно файлы на компьютер, в котором запущена служба протокола FTP. У команды есть несколько параметров. Вот некоторые из них, которые будут наиболее полезны:
bye
Завершает сеанс FTP на удаленном компьютере; есть аналогичная этой команда – FTP Quit
delete
Стирает указанные файлы на удаленном компьютере
mget
Копирует файлы с удаленного на локальный компьютер, используя текущий тип перемещения файлов
mkdir
Создает новую папку на удаленном компьютере
open
Подключается к указанному FTP-серверу
rmdir
Стирает выбранный каталог на удаленном ПК
status
Показывает текущее состояние FTP-подключений
ftp trace
Переключает трассировку пакетов, отображает внутренние вызовы функций FTP при запуске команды
type
Задает или отображает тип перемещения файла
user
Указывает пользователя для удаленного компьютера
mdelete
Стирает файлы на удаленном компьютере
getmac – данный запрос определяет mac-адрес компьютера, а еще он используется для отображения mac-адресов сетевых адаптеров.
hostname – показывает наименование узла в полном имени компьютера.
ipconfig – этот параметр отображает актуальные на момент проверки параметры протокола TCP/IP. Он также применяется для обновления некоторых характеристик, задаваемых при автоматической конфигурации сетевых интерфейсов, задействующих протокол DHCP. К данной команде можно добавлять следующие атрибуты:
/all
Выдает все доступные конфигурации IP
/displaydns
Отображает кэш DNS
/flushdns
Сбрасывает кэш DNS
/registerdns
Обновляет и повторно регистрирует параметры DNS
/release
/renew
Обновляет сведения для сетевых адаптеров
/setclassid
Меняет DHCP Class ID
/showclassid
Отображает DHCP Class ID
mstsc – запускает подключение к удаленному рабочему столу.
net view – показывает имя компьютера в текущем домене.
netsh – сетевое служебное приложение, позволяет локально или удаленно отображать или изменять конфигурацию сети компьютера. Программу можно запустить как в командной строке, так и в Windows PowerShell.
shadow – удаленное управление активным сеансом другого пользователя.
netstat – показывает состояние TCP-подключений и портов, на которых компьютер прослушивается, статистику Ethernet, таблицу маршрутизации IP-адресов, а без использования параметров команда отображает лишь активные TCP-подключения.
nbtstat – отображает статистику протокола и активных подключений TCP/IP посредством NetBT, причем как для локального, так и для удаленных компьютеров. При использовании без параметров эта команда выдает только справочные данные.
nslookup – выдает сведения, используемые для диагностики DNS. Чаще всего используется для определения IP-адреса по доменному имени.
tracert – производит трассировку. Если говорить проще – показывает путь, по которому проходят пакеты данных при отправке из вашего компьютера в конечную точку. При этом показывает последовательно каждый этап маршрута, позволяет узнать, на каком этапе происходят крупные потери или задержки.
pathping – точно так же, как и tracert, выполняет трассировку, дополнительно предоставляя сведения о задержке сети и сетевой утрате в промежуточных узлах.
qappsrv – показывает полный список доступных удаленных рабочих столов в текущем сеансе.
quser – выдает информацию о пользовательских сеансах на удаленный рабочий стол в текущем сеансе. Команда позволяет определить, вошел ли конкретный пользователь на конкретный сервер узла сеансов. После сканирования выдаются следующие сведения:
- имя пользователя;
- наименование сеанса на узле;
- идентификатор сеанса;
- состояние – активно или отключено;
- время простоя – означает промежуток времени с момента последнего нажатия клавиши или перемещения мыши в сеансе;
- дата и время входа пользователя.
rpcinfo – выводится список программ, установленных на удаленных компьютерах.
rasphone – инструмент для управления сетевыми подключениями, в основном используется на модемных линиях или в PPPOE, PPPTP.
route – можно просмотреть и изменить записи в локальной таблице маршрутизации IP. Если использовать без параметров, команда даст справку.
telnet – осуществление подключения по протоколу telnet. Позволяет проверять доступность портов. По умолчанию он не установлен, поэтому такая команда не всегда может сработать.
Работа в системе
at – запрос отвечает за планирование выполнения команд или запуска приложений в заданное время. Используется только совместно со службой расписания и с правами администратора.
compmgmt.msc – эта команда откроет инструмент «Управление компьютером», в котором можно просмотреть запланированные задачи, события, общие папки и пользователей. Также там есть инструмент для управления дисками, еще отображается раздел со списком служб и приложений.
control – запускает «Панель управления». Есть множество ее подвидов, позволяющих запустить окна для управления отдельными элементами. Среди них актуальными будут следующие:
- control admintools – переход в раздел «Администрирование» в панели управления.
- control color – открытие раздела Персонализация» из параметров системы, где можно настроить экран, темы, цвета и так далее.
- control folders – параметры «Проводника».
- control Userpasswords – свойства локальной учетной записи.
devmgmt.msc – команда запускает «Диспетчер устройств», утилиту для управления основными аппаратными и программными компонентами.
explorer – позволяет открыть «Проводник Windows».
logman – создает сеансы трассировки событий, управляет ими и журналами производительности, а также поддерживает многие функции мониторинга системы из командной строки.
mmc – открывает определенную консоль MMC, можно в режиме автора и с указанием версии – 32 или 64-разрядной.
mode – показывает состояние системы, изменяет параметры, перестраивает порты или устройства. При задаче команды без параметров отображаются все управляемые атрибуты консоли и доступные устройства com.
msconfig – открывает инструмент для тонкой настройки системы, управления загрузкой и автозагрузкой, а также активными службами и сервисами.
msinfo32 – запускает утилиту «Сведения о системе», где отображен полный список установленного оборудования, а также системных и программных компонентов на локальном компьютере.
PowerShell – запуск нового сеанса для утилиты Windows PowerShell через окно командной строки.
PowerShell_ise – запускает сеанс в интегрированной среде сценариев Windows PowerShell (ISE). В таком режиме можно применять необязательные настройки для открытия некоторых файлов, проводить запуск без определенного профиля и так далее.
regedit – открывается редактора реестра.
secedit – анализируется и настраивается безопасность системы, текущая конфигурация сравнивается с актуальными шаблонами безопасности.
services.msc – открывается консоль для работы со службами и сервисами.
shutdown – выключение/перезагрузка локальных или удаленных компьютеров. Для той или иной процедуры стоит использовать соответствующий параметр.
- shutdown /r – перезагрузка компьютера после завершения работы.
- shutdown /s – полное завершение работы компьютера.
systeminfo – выдача подробной информации о конфигурации компьютера и его операционной системы, включая сведения о безопасности, идентификатор продукта и свойства оборудования.
wuauclt – открывает раздел параметров «Обновления Windows».
Работа с локальными и виртуальными жесткими дисками
attach vdisk – подключает виртуальный жесткий диск с дальнейшим его отображением в меню главного компьютера в качестве локального. Для отключения его отображения должна быть использована команда detach vdisk.
chkdsk – этот запрос запускает утилиту для проверки дисков и метаданных на наличие логических и физических ошибок. При использовании без параметров лишь отображает состояние и не исправляет ошибки. Для устранения ошибок следует дополнительно вводить параметр /f. Параметр /r запустит поиск поврежденных секторов.
cleanmgr – запускает инструмент «Очистка диска», отвечающий за удаление ненужных файлов с жесткого диска компьютера. Введя отдельные параметры, можно настроить утилиту на стирание временных файлов, кэша интернета, а также провести перезапуск файлов bin.
convert – преобразует диск из одного формата в другой.
defrag – выполняет дефрагментацию файловой системы. Определяет также степень фрагментации диска, объединяет файлы для повышения производительности ОС.
dfrg.msc – с помощью этого запроса включается дефрагментатор дисков.
diskpart – открывает одноименный интерпретатор, позволяющий управлять подключенными локальными дисками, разделами, томами компьютера и виртуальными дисками тоже.
expand vdisk – расширяет созданный виртуальный жесткий диск до определенного размера, указанного в параметрах. Предварительно для выполнения данной команды рекомендуется отключить VHD.
ntbackup – запускает из командной строки резервное копирование и восстановление компьютера и файлов.
recover – проводится восстановление данных, доступных для чтения, с поврежденного или дефектного диска. Эта команда считывает файл и сектор, а затем восстанавливает данные.
sfc /scannow – выполняется проверка целостности всех защищенных системных файлов и по возможности восстановление файлов с проблемами.
Работа с файлами и папками
copy – копирует нужный файл из исходного расположение в другое.
del – удаляет один или несколько файлов. Есть аналогичная – erase. Используя определенные параметры, можно активировать запрос для подтверждения удаления, также запустить принудительное стирание файлов, доступных только для чтения.
expand – разархивирует один или несколько сжатых файлов.
fsmgmt.msc – включается консоль с общими папками в системе.
manage-bde – активирует и дезактивирует BitLocker, задает способы разблокировки, обновляет методы восстановления и разблокирует защищенные диски.
md – создает новый каталог или подкаталог. Похожая команда – это mkdir.
Интерфейс командной строки
cls – проводит очистку командной строки.
color – меняет цвет и фон утилиты.
exit – закрывает командную строку.
help – отображает полный список команд, доступных для задействования в данном инструменте.
Заключение
Как видно, команды для Windows Server практически ничем не отличаются от тех, что используются в обычной версии системы. Разница состоит лишь в задачах – для серверной версии в ход обычно идут несколько иные запросы – команды для командной строки в Windows Server больше акцентированы на работу с подключениями и дисками.
В этой статье я постарался собрать в одном месте основные команды cmd и PowerShell, которые полезны при настройке и управлении Windows Server Core. Думаю, этот гайд будет полезен как новичкам, так и опытным системным администраторам, как справочник по базовым командам Server Core.
Напомним, что Server Core это особый режим установки Windows Server без большинства графических инструментов и оболочек. Управление таким сервером выполняется из командной строки или удаленно.- Меньшие требования к ресурсам;
- Повышенная стабильность, безопасность, требует установки меньшего количества обновлений (за счет меньшего количества кода и используемых компонентов);
- Идеально подходит для использования в качестве сервера для инфраструктурных ролей (контроллер домена Active Directory, DHCP сервер, Hyper-V сервер, файловый сервер и т.д.).
Server Core лицензируется как обычный физический или виртуальный экземпляр Windows Server (в отличии от Hyper-V Server, который полностью бесплатен).
Для установки Windows Server 2016/2019 в режиме Core нужно выбрать обычную установку. Если вы выберите Windows Server (Desktop Experience), будет установлен GUI версия операционной системы (в предыдущих версиях Windows Server она называлась Server with a GUI).
После установки Windows Server Core перед вами появляется командная строка, где нужно задать пароль локального администратора.
При входе на Server Core открывается командная строка (cmd.exe). Чтобы вместо командной строки у вас всегда открывалась консоль PowerShell.exe, нужно внести изменения в реестр. Выполните команды:
Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'
И перезагрузите сервер:
Настройка Windows Server Core с помощью SCONFIG
Для базовой настройки Server Core можно использовать встроенный скрипт sconfig. Просто выполните команду sconfig в консоли. Перед вами появиться меню с несколькими пунктами:
С помощью меню Server Configuration можно настроить:
- Добавить компьютер в домен или рабочую группу;
- Изменить имя компьютера (hostname);
- Добавить локального администратора;
- Разрешить/запретить удаленное управления и ответы на icmp;
- Настроить параметры обновления через Windows Update;
- Установить обновления Windows;
- Включить/отключить RDP;
- Настроить параметры сетевых адаптеров (IP адрес, шлюз, DNS сервера);
- Настроить дату и время;
- Изменить параметры телеметрии;
- Выполнить logoff, перезагрузить или выключить сервер.
Все пункт в меню sconfig пронумерованы. Чтобы перейти в определенное меню наберите его номер и Enter.
В некоторых пунктах меню настройки sconfig есть вложенные пункты. Там также, чтобы перейти к определенной настройке, нужно сделать выбор цифры пункта меню.
Не будем подробно рассматривать все пункты настройки sconfig, т.к. там все достаточно просто и очевидно. Однако в большинстве случаев администраторы предпочитают использовать для настройки новых хостов с Server Core различные PowerShell скрипты. Это намного проще и быстрее, особенно при массовых развёртываниях.
Основные команды PowerShell для настройки Server Core
Рассмотрим основные команды PowerShell, которые можно использовать для настройки Server Core.
Узнать информацию о версии Windows Server и версии PowerShell:
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable
Для перезагрузки Server Core нужно выполнить команду PowerShell :
Чтобы выполнить выход из консоли Server Core, наберите:
Настройка параметров сети
Теперь нужно из PowerShell нужно настроить параметры сети (по умолчанию Windows настроена на получение адреса от DHCP). Выведите список сетевых подключений:
Теперь укажите индекс интерфейса сетевого адаптера (InterfaceIndex), который нужно изменить и задайте новый IP адрес:
New-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.13.100 -PrefixLength 24 -DefaultGateway 192.168.13.1
Set-DNSClientServerAddress –InterfaceIndex 4 -ServerAddresses 192.168.13.11,192.168.13. 111
Проверьте текущие настройки:
Если нужно сбросить IP адрес и вернуться к получению адреса от DHCP, выполните:Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled
Включить/отключить сетевой адаптер:
Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”
Включить, отключить, проверить статус поддержки IPv6 для сетевого адаптера:
Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
Настройка времени/даты
Вы можете настроить дату, время, часовой пояс с помощью графической утилиты intl.cpl или с помощью PowerShell:
Set-Date -Date "09/03/2022 09:00"
Set-TimeZone "Russia Time Zone 3
Задать имя компьютера, добавить в домен, активация
Чтобы изменить имя компьютера:
Rename-Computer -NewName win-srv01 -PassThru
Добавить сервер в домен Active Directory:
Add-Computer -DomainName "corp.winitpro.ru " -Restart
Если нужно добавить дополнительных пользователей в администраторы, можно настроить групповую политику или добавить вручную:
Add-LocalGroupMember -Group "Administrators" -Member "corp\anovikov"
Для активации Windows Server нужно указать ваш ключ:
slmgr.vbs –ipk <productkey>
slmgr.vbs –ato
Или можно активировать хост на KMS сервере (например, для Windows Server 2019):
Разрешить удаленный доступ
Разрешить удаленный доступ к Server Core через RDP:
cscript C:\Windows\System32\Scregedit.wsf /ar 0
Разрешить удаленное управление:
Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
Настройка Windows Firewall
Информация о настройке Windows Firewall есть в статье по ссылке. Здесь оставлю несколько базовых команд.
Включить Windows Defender Firewall для всех профилей:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Изменить тип сети с Public на Private:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
Полностью отключить Windows Firewall (не рекомендуется):
Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false
Разрешить подключение через инструменты удаленного управления:
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 “Remote Scheduled Tasks Management”
Enable-NetFireWallRule -DisplayGroup “Windows Firewall Remote Management”
Enable-NetFirewallRule -DisplayGroup "Remote Administration"
Установка обновлений в Server Core
Для управления параметрами обновлений предпочтительно использовать групповые политики Windows Update, но можно задать параметры и вручную.
Отключить автоматическое обновление:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1
Автоматически скачивать доступные обновления:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3
Получить список установленных обновлений:
Get-Hotfix
Или
wmic qfe list
Для ручной установки обновлений Windows можно использовать утилиту wusa:
Wusa update_name.msu /quiet
Также для установки и управления обновлениями из командной строки удобно использовать PowerShell модуль PSWindowsUpdate.
Управление ролями, службами и процессами Windows
Для получения списка всех доступных ролей в Windows Server Core выполните команду PowerShell:
Получить список всех установленных ролей и компонентов в Windows Server(можно быстро понять, для чего используется сервер):
Get-WindowsFeature | Where-Object | ft Name,Installstate
Например, для установки службы DNS воспользуйтесь такой командой:
Install-WindowsFeature DNS -IncludeManagementTools
Список всех служб в Windows:
Список остановленных служб:
Restart-Service -Name spooler
Для управление процессами можно использовать стандартный диспетчер задач (taskmgr.exe) или PowerShell модуль Processes:
Get-Process cmd, proc1* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft
Часто используемые команды в Server Core
Ну и наконец, приведу список различных полезных мне команд, которые я периодически использую в Server Core.
Информация о статусе и здоровье физических дисков (используется стандартный модуль управления дисками Storage):
Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
Информация о времени последних 10 перезагрузок сервера:
Get-EventLog system | where-object | select -last 10
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
Чтобы скопировать все файлы из каталога на удаленный компьютер по сети можно использовать Copy-Item:
$session = New-PSSession -ComputerName remotsnode1
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force
Для установки драйвера можно использовать стандартную утилиту:
Pnputil –i –a c:\distr\hpdp.inf
Также Microsoft предлагает специальный пакет Server Core App Compatibility Feature on Demand (FOD), который позволяет установить в Windows Server 2019 некоторые графические инструменты и консоли (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE). Этот FOD доступен для загрузки в виде ISO при наличии активной подписки. Установка выполняется командой:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility
Установка Server Core App Compatibility Feature on Demand будет использовать дополнительно около 200 Мб оперативной памяти в Server Core.
В этой статье я постарался собрать самые нужные команды, которые нужно постоянно держать под рукой при работе с Windows Server Core. Время от времени я буду обновлять статью и добавлять новые команды, которые покажутся мне нужными для повседневной работы.
Иногда, получается так что вам доступна только командная строка на удалённом сервере, или необходимо запустить командную строку с привилегиями администратора, а следовательно все команды запущенные из неё обладают теми же правами т.е. правами «Администратора» системы (иногда нам это выгодно):
Удалённое управление компьютером, сервером
Add Hardware Wizard (Добавление оборудования оборудования) — hdwwiz.cpl
Administrative Tools (Настройка параметров управления компьютером) — control admintools
Automatic Updates (Автоматическое обновление) — wuaucpl.cpl
Add/Remove Programs (установка/удаление программ) — appwiz.cpl
Bluetooth Transfer Wizard (Передача данных через «Синий зуб») — fsquirt
Calculator (калькулятор) — calc
Certificate Manager (Управление сертификатами) — certmgr.msc
Character Map (Таблица символов) — charmap
Clipboard Viewer (Просмотр буфер обмена) — clipbrd
Check Disk Utility (Проверка диска) — chkdsk
Command Prompt (Командная строка) — cmd
Component Services (Служба компонентов) — dcomcnfg
Computer Management (Управление компьютером) — compmgmt.msc
Data / Time(Дата/время) — timedate.cpl
DDE (Управление общими ресурсами) — ddeshare
Device Manager (Диспетчер устройств) — devmgmt.msc
Direct X Control Panel (Панель управления «Direct X») — directx.cpl
Direct X Troubleshooter (Диагностика «Direct X») — dxdiag
Disk Cleanup Utility (Очистки диска) — cleanmgr
Disk Defragment (Дефрагментация диска) — dfrg.msc
Disk Management (Управление дисками) — diskmgmt.msc
Disk Partition Manager (Управление разделами дисков) — diskpart
Display Properties (Свойства: Экран) — control desktop и ещё desk.cpl
Display Properties (Свойства Экрана: управление) — control color
Dr. Watson (Отладчик Dr. Watson) — drwtsn32
Driver Verifier Utility (Проверка драйверов) — verifier
Event Viewer (Просмотрщик событий) — eventvwr.msc
File Signature Verification Tool (Мастер проверки подписи файлов) — sigverif
Findfast (Быстрый поиск, кр. XP) — findfast.cpl
Folders Properties (Свойства папок) — control folders
Fonts control (Папка Шрифты кр. XP) — fonts
Fonts Folder (Папка Шрифты кр. XP) — fonts
Free Cell Card Game (Игра Солитер) — freecell
Game Controllers (Настройка и поиск игровых устройств – джостики, манипуляторы и пр.) — joy.cpl
Group Policy Editor (Групповые политики) — gpedit.msc
Hearts Card Game (Карточная гра «Червы») — mshearts
Iexpress Wizard (Мастер создания самораспаковывающихся архивов) — iexpress
Indexing Service (Служба индексирования, для настройки быстрого поиска) — ciadv.msc
Internet Properties (Свойства:Интернет Ехплорера) — inetcpl.cpl
IP Configuration (Настройка сетевых соединений, DHCP, DNS и пр.) — ipconfig /all, /release, /renew, /displaydns, /flushdns, /registerdns,/showclassid,/setclassid
Java Control Panel ( Панель управления Java, если установлена) — jpicpl32.cpl, javaws
Keyboard Properties (Свойства: клавиатуры ) — control keyboard
Local Security Settings (Настройка локальных параметров безопасности) — secpol.msc
Local Users and Groups (Локальные пользователи и группы) — lusrmgr.msc
Logs You Out Of Windows (Завершение текущего сеанса) — logoff
Microsoft Chat (Разговор) — winchat
Minesweeper Game (Игра сапер) — winmine
Mouse Properties Свойства:мышь) — control mouse, main.cpl
Mouse Properties (Свойства:мышь) — main.cpl
Network Statistic ( Windows Команда netstat показывает содержимое различных структур связанных с сетью — netstat
netstat –ano > netstat.txt (Посмотреть открытые порты и статистику по ним в файл)
Network Connections (Панель Сетевых подключений) — control netconnections, ncpa.cpl
Network Setup Wizard (Мастер сетевых подключений) — netsetup.cpl
Notepad (Блокнота) — notepad
Nview Desktop Manager (Менеджер управления Nvidia) — nvtuicpl.cpl
Object Packager (Упаковщик объектов) — packager
ODBC Data Source Administrator (Администрирование ODBC) — odbccp32.cpl
On Screen Keyboard (Экранная клавиатура) — osk
Opens AC3 Filter (Управление AC3, если установлен) — ac3filter.cpl
Password Properties (Свойства:пароль) — password.cpl
Performance Monitor (Производительность системы) — perfmon.msc, perfmon
Phone and Modem Options (Свойства: телефон и модем) — telephon.cpl
Power Configuration (Свойства: электропитание) — powercfg.cpl
Printers and Faxes (Принтеры и факсы) — control printers
Printers Folder (Папка принтеры) — printers
Private Character Editor (Редактор символов) — eudcedit
QuickTime (Управление QuickTime, если установлен) — QuickTime.cpl
Regional Settings (Язык и региональные стандарты) — intl.cpl
Registry Editor (Редактор реестра) — regedit
Registry Editor (Редактор реестра платформа х32) — regedit32
Remote Desktop (Удаленный рабочий стол) — mstsc
Removable Storage Operator Requests (Запросы операторов СЗУ) — ntmsoprq.msc
Resultant Set of Policy (Результирующая политика XP) — rsop.msc
Scanners and Cameras (Сканеры и камеры) — sticpl.cpl
Scheduled Tasks control (Планировщик заданий) — schedtasks
Security Center (Центр безопасности) — wscui.cpl
Services (Службы) — services.msc
Shared Folders (Расшареные папки) — fsmgmt.msc
Shuts Down Windows (Завершение работы) — shutdown
Ключи утилиты Завершения Работы Компьютера shutdown:
-i Вызов GUI интерфейса
-l Выход из системы
-s Завершение работы компьютера
-a Прекращение завершения работы
-m \\имя удаленного компьютер
-t xx Задержка завершения работы в секундах
-c «комментарий» комментарий
-а принудительное завершение работы
-d [u][p]:xx:yy код причины завершения работы
Sounds and Audio (Свойства: звуки и аудиоустройства) — mmsys.cpl
Spider Solitare Card Game (Карточная игра «Пасьянс Паук») — spider
SQL Client Configuration ( Программа конфигурации SQL-сервера ) — cliconfg
System Configuration Editor ( Редактор Настройки Системных файлов ) — sysedit
System Configuration Utility ( Утилита настройки системы ) — msconfig
System File Checker Utility ( Сканирование дисков, начать сразу ) — sfc /scannow, (Сканирование дисков.Единожды, при следующей загрузке) — sfc /scanonce, (Сканирование дисков/каждый раз при загрузке) — sfc /scanboot, (Сброс на установки по умолчанию) — sfc /revert, (Очистка фалового кэша) — sfc /purgecache, (Установка размера кэша) — sfc /cachesize=x
System Properties ( Свойства системы ) — sysdm.cpl
Task List, Task Kill (Команда просмотра и управлениями процессами ) — tasklist /?, taskkill /?
Пример использования: tasklist /svc > svclist.txt (Посмотреть выполняющиеся процессы, и PID)
Ну и если необходимо убить нужный — taskkill
Task Manager ( Диспетчер задач ) — taskmgr
Telnet Client ( Телнет-клиент ) — telnet
Users password ( Управление пользователями ) — control userpasswords
User Account Management ( Учетные записи пользователей ) — nusrmgr.cpl
Utility Manager ( Менеджер служебных программ ) — utilman
Windows Firewall ( Брандмауэр Windows ) — firewall.cpl
Изменить, удалённо, параметры можно при помоши оболочки netsh, для примера:
netsh firewall show opmode ( Узнать запущен ли Firewall )
netsh firewall set opmode enable (включить Firewall)
netsh firewall add portopening TCP 3389 ENABLE ALL (открываем доступ к RDP)
Для того чтобы получить доступ к удаленному серверу, который работает в качестве файлового сервера, необходимо создать исключения для следующих четырех портов в брандмауэре:
netsh firewall add portopening UDP 137 enable subnet
netsh firewall add portopening UDP 138 enable subnet
netsh firewall add portopening TCP 139 enable subnet
netsh firewall add portopening TCP 445 enable subnet
Windows Magnifier (Экранная лупа) — magnify
Windows System Security Tool (Защита базы данных учетных записей) — syskey
Windows Update Launches (Запуск службы обновлений) — wupdmgr
Windows XP Tour Wizard (Запуск знакомства с Windows) — tourstart
Wordpad ( Запуск редактора Wordpad ) — write
Читайте также: