Windows: полезные вещи и команды (cmd, powershell)

MISC
  • Для просмотра девайсов в системе на Windows/инфы с датчиков/стресс тестирования хороша утилита Everest (aida64). aida64 – everest тот же, часть вещей лучше.
  • Замена telnet
Test-NetConnection 192.168.1.90 -port 3389
  • Развитие IT в странах СНГ в среднем значительно хуже РФ/Москвы, не говоря о USA/Китае – в Азербайджане в основном все on-prem и напр. норма Windows Server 2003 в банке 🙂
  • WSL – лучший способ запуск Linux под Windows
  • вход в систему без пароля Windows 10 решается галочкой в утилите netplwiz
  • 3 и более vCPU в VM на базе Windows (сталкивался на Windows 7 PRO и ESXi 6.7) могут в системе не включится, если они на гипервизоре созданы как отдельные сокеты (1 сокет = 1 vCPU). При этом, если создать такое же количество (напр. 8 vCPU) используя 2 сокета и 4 ядра на сокет – все будет работать корректно (продублировал в гипервизоры и windows).
  • По информации от Oracle производительность Windows можно увеличить за счет тюнинга параметров ядра/регистра:
    • увеличения размера буфера сокета
    • избегание swapping 
    • увеличения размера фрейма (Datagram size), передаваемого offload до размера MTU (1500)
    • увеличение приоритета исполнения background процессов
  • С Windows 10 больше не нужно упражняться с daemon tools: Если установлена операционная система Windows 10, Windows 11, Windows 8. Щёлкните по скаченному ISO файлу правой клавишей – открыть с помощью – проводник.
  • %APPDATA% – удобная переменная перехода в папку с application для текущего пользователя напр. для admin (C:\Users\admin\AppData\Roaming)
  • Windows 7 устанавливается на flash через rufus (использовал актуальный 3.14). Для старых BIOS (не UEFI) обязательно выставляем схему раздела MBR (не GPT).
  • В Windows есть функционал bridge connections.
  • Периодические фризы консоли (cmd, powershell) это не баг, а фича консоли Windows – отключаем включенный по умолчанию QuickEdit mode (Быстрая вставка на русском), так же желательно отключить и выделение мышью.
    Сталкивался с этим несколько раз и как в комментариях пишут думал, что проблема со скриптами 🙂
To get your program running again, you have to press escape or click somewhere else. To get rid of this strange behavior, you can disable QuickEdit mode.
  • Get-NetTCPSetting – Powershell просмотр параметров TCP стека (Win 10)
Win> Get-NetTCPSetting
SettingName : Internet
MinRto(ms) : 300
InitialCongestionWindow(MSS) : 10
CongestionProvider : CUBIC
CwndRestart : False
DelayedAckTimeout(ms) : 40
DelayedAckFrequency : 2
MemoryPressureProtection : Disabled
AutoTuningLevelLocal : Normal
AutoTuningLevelGroupPolicy : NotConfigured
AutoTuningLevelEffective : Local
EcnCapability : Disabled
Timestamps : Disabled
InitialRto(ms) : 1000
ScalingHeuristics : Disabled
DynamicPortRangeStartPort : 49152
DynamicPortRangeNumberOfPorts : 16384
AutomaticUseCustom : Disabled
NonSackRttResiliency : Disabled
ForceWS : Enabled
MaxSynRetransmissions : 4
AutoReusePortRangeStartPort : 0
AutoReusePortRangeNumberOfPorts : 0
  • сохранение снимков экрана в файл
    • win + print-screen сейвит скриншот файлом в C:\Users\user\Pictures\Screenshots, очень, зачастую, удобно
    • ножницы с опцией “Предлагать сохранять фрагменты перед выходом”
  • pywinauto/pyautogui – автоматизация GUI.
pywinauto is a set of python modules to automate the Microsoft Windows GUI. At its simplest it allows you to send mouse and keyboard actions to windows dialogs and controls.
PyAutoGUI works on Windows, macOS, and Linux, and runs on Python 2 and 3.
  • fsutil file createnew 50MB.bin 52428800 – создаем 50MB файл, заполненный нулями
  • fsutil file createnew 30MB.bin 31457280 – создаем 30MB файл, заполненный нулями
  • shutdown /r –  reboot windows
  • shutdown /s – shutdown windows
  • узнать дату установки системы (по факту дата установки последних апдейтов) можно несколькими способами
>SystemInfo | find /i "дата"
Дата установки: 19.12.2020, 20:12:25

>WMIC OS GET installdate
InstallDate
20201219201225.000000+180
  • wmic baseboard get product – узнать материнку.
>wmic baseboard get product
Product
P8Z77-V LX
  • current uptime можно получить из системной утилиты systeminfo
>systeminfo | find "загрузки"
Время загрузки системы: 16.04.2021, 9:50:51
  • total uptime windows получить можно, эти данные в теории можно извлечь из событий системного журнала или из приложения everest. Но по факту эта данные ненадежны – системный журнал чистится самой системой.
https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/total-system-uptime/5e6169c6-e667-483c-9a31-5a16c5c411d1
Hello there,you can see that in Everest. :)
Total uptime
You can always just find the 6005/6009 events in the event log (showing the reboot) and do the math. That's basically what these uptime programs are (trying) to do anyway.
BUT!! The Windows Event Log usually is cleaned up from time to time, so you might be missing some earlier recordings;
  • taskkill -f -im explorer.exe – перезапуск explorer при его зависании 1
  • explorer  – перезапуск explorer при его зависании 2

 

IPv6

Просмотр ND базы и Ping IPv6 адресов на Windows.

 

Powershell

  • powershell можно установить в Linux & MAC omg.
  • PowerShell – posh 🙂
  • В командных оболочках cmd и PowerShell для переноса строки используются символы ^ и `’ соответственно.
  • версия powershell

> $PSVersionTable.PSVersion

Major Minor Build Revision
----- ----- ----- --------
5 1 18362 1801

Bash аналоги в powershell

bc/expr (terminal calc) с присвоением значений переменных, так же можно использовать разные математические функции (ceiling, round, etc)

$bytes=31457635; $msec=261662; (($bytes * 8 / 1000) / $msec) * 1000

$users=1000; $max_file_size=30; [math]::ceiling(($users * $max_file_size)/10000)

grep

cat .\test_jmeter.jtl | Select-String -Pattern download

awk -F’,’ ‘{print $9}’

cat .\test_jmeter.jtl | ForEach{ "{9}" -f ($_ -split ',')}

head -n 1

cat .\test_jmeter.jtl | Select -First 1

uniq

cat .\test_jmeter.jtl | Sort-Object -Unique # так же есть вариант с использованием Get-Unique, но без сортировки возможны дубли

wc

netstat -n | Select-String -Pattern 8080 | Measure-Object

sort 

cat .\test_jmeter.jtl | Measure-Object -Average
cat .\test_jmeter.jtl | Measure-Object -Max

 

ipconfig

ipconfig /all #to display all settings (including)

C:\Users\admin>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : DESKTOP-G18P2D8
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет
Порядок просмотра суффиксов DNS . : localdomain

Адаптер Ethernet Ethernet0:

DNS-суффикс подключения . . . . . : localdomain
Описание. . . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
Физический адрес. . . . . . . . . : 00-0C-23-77-2C-E7
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
Локальный IPv6-адрес канала . . . : fe80::55ec:a717:13fa:f1f4%13(Основной)
IPv4-адрес. . . . . . . . . . . . : 172.16.208.173(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Аренда получена. . . . . . . . . . : 24 марта 2020 г. 21:02:59
Срок аренды истекает. . . . . . . . . . : 24 марта 2020 г. 21:33:05
Основной шлюз. . . . . . . . . : 172.16.8.2
DHCP-сервер. . . . . . . . . . . : 172.16.8.254
IAID DHCPv6 . . . . . . . . . . . : 100666409
DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-26-21-CA-DC-00-0C-23-77-2C-E7
DNS-серверы. . . . . . . . . . . : 172.16.8.2
Основной WINS-сервер. . . . . . . : 172.16.8.2
NetBios через TCP/IP. . . . . . . . : Включен

Адаптер Ethernet Сетевое подключение Bluetooth:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
Физический адрес. . . . . . . . . : 8C-85-90-64-64-26
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да

ROUTE

route add -p 172.17.0.0 mask 255.255.0.0 172.17.0.1
route add 192.168.1.0 mask 255.255.255.0 0.0.0.0 IF <IFACE_ID> # временный маршрут через интерфейс по ID (в выводе route print)
route delete 172.17.0.0 mask 255.255.0.0

Появляющиеся маршруты при поднятии VPN соединения и пропадающие после отключения – очень удобно.

Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16
HOSTS файл

 

чистка системы, поиск (больших) файлов

Легкие способы отчистить систему от ненужных файлов, заполняющих ФС:

  • Поиск и удаление гигантских и больших файлов стандартными средствами поиска Windows
  • После способов ниже нужно перезагружаться (не всегда)
    • Удаление папки windows.old
    • Удаление точек восстановления
    • Удаление лишних приложений
    • Стандартная очистка диска cleanmgr или CCleaner
    • Удаление файла подкачки. Файл подкачки занимает место на диске даже если не используется. Его можно сократить или отключить. Для виртуальных машин с большим RAM, но небольшим количеством HDD (довольно частая история) это огромная экономия в объеме жесткого диска. Например, часто создается VM с 8 GB RAM и 32 GB HDD, при этом объем файла подкачки равен объему RAM, в итоге 25% HDD занимает один только файл подкачки.

 

RDP

Включение RDP из командной строки (требуются права администратора)

> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

whoami – получение учетной записи для подключения по RDP. Очень удобно – показывает реальное имя пользователя для подключения, которое нужно вводить as is, даже если имя пользователя на русском.

> whoami
user-8\w
> whoami
user-ПК\user
Вход по rdp в обход лицензии (если у вас вдруг просрочился trial, а локально на машине вы обновить его не можете)
mstsc /admin /v:Whatever-Your-Server-Name-Is-Here

 

netsh

netsh interface portproxy add v4tov4 listenport=1238 listenaddress=192.168.100.26 connectport=22 connectaddress=172.1.1.18 – пробрасываем локальное подключение на Windows 192.168.100.26:1238 на удаленный хост 172.1.1.18:22.

netsh wlan show all – узнаем все о беспроводном адаптере, подключенной сети и сетях, которые видит адаптер.

 

NETSTAT

netstat -b – смотрим какие порты (сокеты) используют приложения

TCP 192.168.100.34:49818 lq-in-f95:https CLOSE_WAIT
[googledrivesync.exe]
TCP 192.168.100.34:49819 lr-in-f95:https ESTABLISHED
[googledrivesync.exe]

Leave a Reply