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

MISC
  • 3 и более vCPU в VM на базе Windows (сталкивался на Windows 7 PRO и ESXi 6.7) могут в системе не включится, если они на гипервизоре созданы как отдельные сокеты (1 сокет = 1 vCPU). При этом, если создать такое же количество (напр. 8 vCPU) используя 2 сокета и 4 ядра на сокет – все будет работать корректно (продублировал в гипервизоры и windows).
  • 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.
  • Файл подкачки занимает место на диске даже если не используется. Его можно сократить или отключить.
  • сохранение снимков экрана в файл
    • win + print-screen сейвит скриншот файлом в C:\Users\user\Pictures\Screenshots, очень, зачастую, удобно
    • ножницы с опцией “Предлагать сохранять фрагменты перед выходом”
  • pywinauto – автоматизация в Windows 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.
  • fsutil file createnew 50MB.bin 52428800 – создаем 50MB файл, заполненный нулями
  • fsutil file createnew 30MB.bin 31457280 – создаем 30MB файл, заполненный нулями
  • shutdown /r –  reboot 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

 

Powershell

  • powershell можно установить в Linux & MAC omg.

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)
HOSTS файл

 

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