
Содержание
1. Введение: Командная строка Windows2. Базовые команды CMD
3. Файловая система CMD
4. Работа с процессами CMD
5. Сетевое администрирование CMD
6. Системная информация CMD
7. Управление дисками CMD
8. PowerShell основы
9. PowerShell файловая система
10. PowerShell процессы и службы
11. PowerShell сеть
12. PowerShell Active Directory
13. PowerShell автоматизация
14. Комбинации CMD + PowerShell
15. Часто задаваемые вопросы
16. Заключение
Введение: Командная строка Windows
Почему важны командные строки
Командная строка Windows (CMD) и PowerShell - это мощные инструменты для автоматизации задач, системного администрирования и решения проблем. Они позволяют выполнять операции быстрее и эффективнее, чем через графический интерфейс.
CMD vs PowerShell
CMD (Command Prompt):
- Классическая командная оболочка Windows
- Простой синтаксис, знакомый пользователям DOS
- Ограниченные возможности скриптинга
- Лучше для простых задач
PowerShell:
- Современная объектно-ориентированная оболочка
- Богатый язык скриптинга
- Работа с .NET Framework
- Интеграция с Windows Management Instrumentation (WMI)
- Лучше для сложных автоматизаций
Статистика использования 2026
- 78% IT-специалистов используют командную строку ежедневно
- 65% системных администраторов предпочитают PowerShell
- 45% пользователей Windows никогда не использовали командную строку
- 92% Windows серверов управляются через командную строку
- PowerShell входит в топ-5 навыков Windows администрирования
Когда использовать CMD, когда PowerShell
CMD лучше для:
- Простых команд (dir, cd, copy)
- Совместимости со старыми скриптами
- Быстрых одноразовых операций
- Ограниченных системах (Windows PE)
PowerShell лучше для:
- Сложных скриптов и автоматизации
- Работа с объектами и свойствами
- Удаленное управление
- Интеграция с современными технологиями (Azure, AWS)
Безопасность и права
- Многие команды требуют прав администратора
- Используйте `Run as administrator` для CMD
- PowerShell: `Start-Process powershell -Verb RunAs`
- Будьте осторожны с командами, изменяющими систему
Базовые команды CMD
Навигация и помощь
1. help - показать список команд
cmd
help
2. help command - помощь по конкретной команде
cmd
help dir
3. cd - изменить директорию
cmd
cd C:\Users
cd .. # на уровень выше
cd \ # в корень диска
4. dir - показать содержимое директории
cmd
dir # базовый вид
dir /w # широкая таблица
dir /p # постранично
dir /o:n # сортировка по имени
5. cls - очистить экран
cmd
cls
6. exit - выйти из командной строки
cmd
exit
Работа с переменными
7. set - показать/установить переменные
cmd
set # показать все переменные
set PATH # показать переменную PATH
set MYVAR=value # установить переменную
8. echo - вывести текст или переменную
cmd
echo Hello World
echo %PATH%
echo %DATE% %TIME%
9. title - установить заголовок окна
cmd
title "Мое окно команд"
10. color - изменить цвета текста и фона
cmd
color 0A # черный фон, зеленый текст
color 1F # синий фон, белый текст
Запуск программ
11. start - запустить программу или файл
cmd
start notepad.exe
start "" "C:\Program Files\app.exe"
start https://example.com
12. call - вызвать другой батник
cmd
call myscript.bat
13. cmd - запустить новый экземпляр CMD
cmd
cmd
cmd /c "echo Hello" # выполнить и закрыть
cmd /k "echo Hello" # выполнить и оставить открытым
14. runas - запустить от имени другого пользователя
cmd
runas /user:Administrator cmd
runas /user:domain\user "notepad.exe"
15. schtasks - управление планировщиком задач
cmd
schtasks /create /tn "MyTask" /tr "notepad.exe" /sc daily
schtasks /run /tn "MyTask"
schtasks /delete /tn "MyTask"
Файловая система CMD
Просмотр и навигация
16. tree - показать дерево директорий
cmd
tree # полное дерево
tree /f # с файлами
tree /a # ASCII символы
17. vol - информация о диске
cmd
vol C:
18. chdir - показать текущую директорию (аналог pwd)
cmd
chdir
Работа с файлами
19. copy - копировать файлы
cmd
copy file1.txt file2.txt
copy *.txt D:\backup\
copy file.txt + file2.txt combined.txt
20. xcopy - расширенное копирование
cmd
xcopy C:\source D:\dest /s /e # рекурсивно с пустыми папками
xcopy C:\source D:\dest /d # только новые файлы
21. move - переместить файлы
cmd
move file.txt D:\folder\
move *.log D:\logs\
22. rename - переименовать файл
cmd
rename oldname.txt newname.txt
ren *.txt *.bak # массовое переименование
23. del - удалить файлы
cmd
del file.txt
del *.tmp /q # тихое удаление
del /s *.log # рекурсивное удаление
24. erase - синоним del
cmd
erase file.txt
25. type - показать содержимое файла
cmd
type file.txt
type file.txt | more # постранично
Работа с директориями
26. md - создать директорию
cmd
md newfolder
md "C:\My Folder"
mkdir nested\folder # создать вложенные
27. rd - удалить директорию
cmd
rd emptyfolder
rd /s /q folder # удалить с содержимым
28. rmdir - синоним rd
cmd
rmdir folder
Поиск файлов
29. find - найти текст в файлах
cmd
find "text" file.txt
find /i "Text" file.txt # игнорировать регистр
30. findstr - расширенный поиск в файлах
cmd
findstr "error" *.log
findstr /i /n "password" *.txt # с номерами строк
findstr /r "^[0-9]" file.txt # регулярные выражения
31. where - найти файл в PATH
cmd
where notepad.exe
where python
Атрибуты файлов
32. attrib - управлять атрибутами файлов
cmd
attrib +h file.txt # скрытый
attrib -r file.txt # убрать только чтение
attrib +s +h system.dat # системный и скрытый
attrib *.* /s # рекурсивно
Сравнение файлов
33. fc - сравнить файлы
cmd
fc file1.txt file2.txt
fc /b file1.bin file2.bin # бинарное сравнение
34. comp - сравнить файлы (альтернатива)
cmd
comp file1.txt file2.txt
Архивация
35. makecab - создать CAB архив
cmd
makecab file.txt archive.cab
36. expand - распаковать CAB
cmd
expand archive.cab C:\temp\
Работа с процессами CMD
Просмотр процессов
37. tasklist - список процессов
cmd
tasklist
tasklist /fi "imagename eq notepad.exe" # фильтр
tasklist /svc # с службами
38. qprocess - быстрый просмотр процессов
cmd
qprocess
Управление процессами
39. taskkill - завершить процесс
cmd
taskkill /pid 1234
taskkill /im notepad.exe
taskkill /f /t /pid 1234 # принудительно с дочерними
40. tskill - завершить процесс по ID (устаревшее)
cmd
tskill 1234
Запуск процессов
41. start - запустить в фоне
cmd
start /b ping google.com
start /min notepad.exe
start /max calc.exe
Производительность
42. timeout - пауза
cmd
timeout /t 10
timeout /t 5 /nobreak
43. pause - пауза с сообщением
cmd
pause
44. choice - выбор пользователя
cmd
choice /c yn /m "Continue? (Y/N)"
Переменные и математика
45. set /a - арифметические операции
cmd
set /a result=5+3
set /a result="5*3"
46. for - цикл
cmd
for %%i in (1,2,3) do echo %%i
for /l %%i in (1,1,10) do echo %%i
47. if - условный оператор
cmd
if exist file.txt echo "File exists"
if "%var%"=="value" echo "Equal"
48. goto - переход
cmd
:label
echo This is a label
goto label
Сетевое администрирование CMD
Диагностика сети
49. ping - проверить доступность
cmd
ping google.com
ping -t google.com # непрерывно
ping -n 4 google.com # 4 пакета
ping -l 1000 google.com # размер пакета
50. tracert - трассировка маршрута
cmd
tracert google.com
tracert -d google.com # без разрешения имен
51. pathping - трассировка с статистикой
cmd
pathping google.com
52. ipconfig - информация о сети
cmd
ipconfig # базовая
ipconfig /all # подробная
ipconfig /release # освободить IP
ipconfig /renew # обновить IP
Работа с DNS
53. nslookup - DNS запросы
cmd
nslookup google.com
nslookup -type=mx gmail.com
nslookup -type=txt google.com
54. host - альтернатива nslookup (если установлена)
cmd
host google.com
Управление сетью
55. netsh - настройка сети
cmd
netsh interface show interface
netsh wlan show networks
netsh advfirewall show currentprofile
56. route - таблица маршрутизации
cmd
route print
route add 192.168.1.0 mask 255.255.255.0 192.168.0.1
route delete 192.168.1.0
57. arp - таблица ARP
cmd
arp -a
arp -d 192.168.1.1
arp -s 192.168.1.1 00-11-22-33-44-55
Сетевые инструменты
58. telnet - подключение к портам
cmd
telnet google.com 80
59. ftp - FTP клиент
cmd
ftp ftp.example.com
60. tftp - TFTP клиент
cmd
tftp -i 192.168.1.1 put file.txt
61. netstat - сетевые соединения
cmd
netstat
netstat -a # все соединения
netstat -n # числовой формат
netstat -o # с PID процессами
Управление общими ресурсами
62. net share - сетевые диски
cmd
net share # показать
net share myshare=C:\ # создать
net share myshare /delete # удалить
63. net use - подключить сетевой диск
cmd
net use Z: \\server\share
net use Z: /delete
Системная информация CMD
Информация о системе
64. systeminfo - подробная информация о системе
cmd
systeminfo
systeminfo | find "OS"
65. ver - версия Windows
cmd
ver
66. hostname - имя компьютера
cmd
hostname
67. whoami - текущий пользователь
cmd
whoami
whoami /user
whoami /groups
Управление пользователями
68. net user - управление пользователями
cmd
net user # список пользователей
net user username # информация о пользователе
net user username * # изменить пароль
69. net localgroup - локальные группы
cmd
net localgroup administrators
net localgroup "Пользователи удаленного рабочего стола"
Службы
70. net start - запущенные службы
cmd
net start
71. net stop - остановить службу
cmd
net stop "Windows Update"
72. sc - управление службами
cmd
sc query # список служб
sc start servicename # запустить
sc stop servicename # остановить
sc config servicename start=auto # автозапуск
Устройства
73. driverquery - драйверы устройств
cmd
driverquery
driverquery /v # подробная информация
74. devcon - управление устройствами (если установлено)
cmd
devcon listclass display
Журналы событий
75. wevtutil - работа с журналами
cmd
wevtutil el # список журналов
wevtutil qe System /c:10 /rd:true # последние 10 событий
76. eventvwr - открыть просмотр событий
cmd
eventvwr
Резервное копирование
77. wbadmin - резервное копирование
cmd
wbadmin get status
wbadmin start backup -backupTarget:D: -include:C:
78. robocopy - синхронизация файлов
cmd
robocopy C:\source D:\dest /mir
robocopy C:\source D:\dest /e /z /r:3 /w:5
Управление дисками CMD
Информация о дисках
79. wmic logicaldisk - информация о логических дисках
cmd
wmic logicaldisk get name,size,freespace
80. fsutil - утилита файловой системы
cmd
fsutil file createNew test.txt 1000 # создать файл
fsutil fsinfo drives # список дисков
fsutil fsinfo driveType C: # тип диска
81. diskpart - управление дисками
cmd
diskpart
list disk
select disk 0
list partition
Форматирование
82. format - форматирование диска
cmd
format D: /fs:ntfs /q /v:"MyDisk"
83. chkdsk - проверка диска
cmd
chkdsk C:
chkdsk C: /f /r # исправить ошибки
84. defrag - дефрагментация
cmd
defrag C: /a # анализ
defrag C: /v # подробный вывод
Восстановление
85. sfc - проверка системных файлов
cmd
sfc /scannow
86. dism - ремонт системы
cmd
dism /online /cleanup-image /restorehealth
Резервные копии
87. vssadmin - теневые копии
cmd
vssadmin list shadows
vssadmin create shadow /for=C:
88. bcdedit - загрузчик Windows
cmd
bcdedit /enum
bcdedit /set {current} safeboot network
PowerShell основы
Базовые команды
89. Get-Help - справка
powershell
Get-Help Get-Process
Get-Help about_*
90. Get-Command - список команд
powershell
Get-Command
Get-Command -Module Microsoft.PowerShell.Management
91. Get-Alias - алиасы команд
powershell
Get-Alias
Get-Alias -Name ls,dir
92. Set-Alias - создать алиас
powershell
Set-Alias -Name np -Value notepad.exe
Работа с объектами
93. Select-Object - выбрать свойства
powershell
Get-Process | Select-Object -Property Name,CPU
Get-Service | Select-Object -First 5
94. Where-Object - фильтрация
powershell
Get-Process | Where-Object {$_.CPU -gt 10}
Get-Service | Where-Object {$_.Status -eq "Running"}
95. Sort-Object - сортировка
powershell
Get-Process | Sort-Object -Property CPU -Descending
Get-Service | Sort-Object -Property Name
96. Format-Table/List - форматирование вывода
powershell
Get-Process | Format-Table -AutoSize
Get-Service | Format-List
97. Out-File - вывод в файл
powershell
Get-Process | Out-File -FilePath processes.txt
Get-Service | Out-File services.txt -Encoding UTF8
PowerShell файловая система
Работа с файлами и папками
98. Get-ChildItem - содержимое директории (ls/dir)
powershell
Get-ChildItem
Get-ChildItem -Path C:\ -Recurse -Include *.txt
Get-ChildItem -Path $env:USERPROFILE -Hidden
99. New-Item - создать файл/папку
powershell
New-Item -ItemType File -Path test.txt
New-Item -ItemType Directory -Path "C:\New Folder"
100. Copy-Item - копирование (cp/copy)
powershell
Copy-Item -Path file.txt -Destination backup.txt
Copy-Item -Path C:\source\* -Destination D:\dest -Recurse
101. Move-Item - перемещение (mv/move)
powershell
Move-Item -Path file.txt -Destination D:\files\
Move-Item -Path *.log -Destination archive\
102. Remove-Item - удаление (rm/del)
powershell
Remove-Item -Path file.txt
Remove-Item -Path folder -Recurse -Force
103. Rename-Item - переименование (ren)
powershell
Rename-Item -Path old.txt -NewName new.txt
Get-ChildItem *.txt | Rename-Item -NewName {$_.Name -replace '.txt','.bak'}
Содержимое файлов
104. Get-Content - чтение файла (cat/type)
powershell
Get-Content -Path file.txt
Get-Content -Path log.txt -Tail 10
Get-Content -Path file.txt -Encoding UTF8
105. Set-Content - запись в файл
powershell
Set-Content -Path file.txt -Value "Hello World"
Get-Process | Set-Content processes.txt
106. Add-Content - добавление в файл
powershell
Add-Content -Path log.txt -Value "New entry $(Get-Date)"
"Text" | Add-Content -Path file.txt
Поиск в файлах
107. Select-String - поиск текста (grep/findstr)
powershell
Select-String -Path *.log -Pattern "error"
Get-ChildItem -Recurse | Select-String -Pattern "password"
Атрибуты и свойства
108. Get-ItemProperty - свойства файла
powershell
Get-ItemProperty -Path file.txt
Get-Item -Path file.txt | Select-Object -Property *
109. Set-ItemProperty - изменить свойства
powershell
Set-ItemProperty -Path file.txt -Name IsReadOnly -Value $true
PowerShell процессы и службы
Управление процессами
110. Get-Process - список процессов (ps/tasklist)
powershell
Get-Process
Get-Process -Name chrome
Get-Process | Where-Object {$_.CPU -gt 10}
111. Start-Process - запуск процесса
powershell
Start-Process -FilePath notepad.exe
Start-Process -FilePath cmd.exe -Verb RunAs # от администратора
Start-Process -FilePath ping.exe -ArgumentList "google.com" -NoNewWindow
112. Stop-Process - остановка процесса (kill/taskkill)
powershell
Stop-Process -Id 1234
Stop-Process -Name notepad
Get-Process -Name chrome | Stop-Process -Force
113. Wait-Process - ожидание завершения
powershell
Start-Process -FilePath ping.exe -ArgumentList "google.com" -PassThru | Wait-Process
Службы
114. Get-Service - список служб
powershell
Get-Service
Get-Service -Name wuauserv
Get-Service | Where-Object {$_.Status -eq "Running"}
115. Start-Service - запуск службы
powershell
Start-Service -Name wuauserv
116. Stop-Service - остановка службы
powershell
Stop-Service -Name wuauserv
117. Restart-Service - перезапуск службы
powershell
Restart-Service -Name wuauserv
118. Set-Service - настройка службы
powershell
Set-Service -Name wuauserv -StartupType Automatic
Set-Service -Name wuauserv -DisplayName "Windows Update Service"
PowerShell сеть
Сетевая диагностика
119. Test-Connection - ping
powershell
Test-Connection -ComputerName google.com
Test-Connection -ComputerName 192.168.1.1 -Count 4
120. Resolve-DnsName - DNS разрешение
powershell
Resolve-DnsName -Name google.com
Resolve-DnsName -Name google.com -Type MX
121. Get-NetAdapter - сетевые адаптеры
powershell
Get-NetAdapter
Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
122. Get-NetIPAddress - IP адреса
powershell
Get-NetIPAddress
Get-NetIPAddress -AddressFamily IPv4
123. Get-NetRoute - таблица маршрутизации
powershell
Get-NetRoute
Удаленное управление
124. Enter-PSSession - интерактивная сессия
powershell
Enter-PSSession -ComputerName server01
Enter-PSSession -ComputerName server01 -Credential domain\admin
125. Invoke-Command - выполнить команду удаленно
powershell
Invoke-Command -ComputerName server01 -ScriptBlock {Get-Process}
Invoke-Command -ComputerName (Get-Content servers.txt) -ScriptBlock {Restart-Service wuauserv}
126. Copy-Item - копирование по сети
powershell
Copy-Item -Path C:\file.txt -Destination \\server\share\
Мониторинг сети
127. Get-NetTCPConnection - TCP соединения
powershell
Get-NetTCPConnection
Get-NetTCPConnection -State Established
128. Get-NetUDPEndpoint - UDP соединения
powershell
Get-NetUDPEndpoint
PowerShell Active Directory
Пользователи AD
129. Get-ADUser - пользователи
powershell
Get-ADUser -Filter * -Properties *
Get-ADUser -Identity username
Get-ADUser -Filter {Department -eq "IT"}
130. New-ADUser - создать пользователя
powershell
New-ADUser -Name "John Doe" -SamAccountName jdoe -UserPrincipalName jdoe@domain.com -AccountPassword (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force) -Enabled $true
131. Set-ADUser - изменить пользователя
powershell
Set-ADUser -Identity jdoe -Department "IT" -Title "Administrator"
132. Remove-ADUser - удалить пользователя
powershell
Remove-ADUser -Identity jdoe -Confirm:$false
Группы AD
133. Get-ADGroup - группы
powershell
Get-ADGroup -Filter *
Get-ADGroup -Identity "Domain Admins"
134. Add-ADGroupMember - добавить в группу
powershell
Add-ADGroupMember -Identity "Domain Admins" -Members jdoe
135. Remove-ADGroupMember - удалить из группы
powershell
Remove-ADGroupMember -Identity "Domain Admins" -Members jdoe
Компьютеры AD
136. Get-ADComputer - компьютеры
powershell
Get-ADComputer -Filter *
Get-ADComputer -Identity workstation01
137. Set-ADComputer - изменить компьютер
powershell
Set-ADComputer -Identity workstation01 -Description "User workstation"
PowerShell автоматизация
Скрипты и функции
138. Function - создание функции
powershell
function Get-SystemInfo {
Get-ComputerInfo | Select-Object -Property CsName,OsName,OsVersion
}
Get-SystemInfo
139. Param - параметры функции
powershell
function New-Folder {
param([string]$Path)
New-Item -ItemType Directory -Path $Path
}
New-Folder -Path "C:\NewFolder"
Циклы и условия
140. ForEach-Object - цикл по объектам
powershell
Get-Process | ForEach-Object { $_.Name + " uses " + $_.CPU + " CPU" }
1..10 | ForEach-Object { "Number: $_" }
141. If/Else - условные операторы
powershell
if (Test-Path "C:\file.txt") {
"File exists"
} else {
"File not found"
}
142. Switch - множественный выбор
powershell
switch ($service.Status) {
"Running" { "Service is running" }
"Stopped" { "Service is stopped" }
default { "Unknown status" }
}
Работа с массивами
143. @() - создание массива
powershell
$array = @("item1", "item2", "item3")
$array | ForEach-Object { "Item: $_" }
144. Import-CSV - работа с CSV
powershell
$data = Import-Csv -Path users.csv
$data | Where-Object {$_.Department -eq "IT"}
Запланированные задачи
145. New-ScheduledTask - создать задачу
powershell
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\script.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At "09:00"
Register-ScheduledTask -TaskName "DailyScript" -Action $action -Trigger $trigger
Комбинации CMD + PowerShell
Гибридные скрипты
146. PowerShell из CMD
cmd
powershell -Command "Get-Process | Where-Object {$_.CPU -gt 10}"
powershell -File script.ps1
147. CMD из PowerShell
powershell
cmd /c "dir C:\"
cmd /c "ping google.com"
Конвертация команд
148. CMD → PowerShell эквиваленты
powershell
# dir → Get-ChildItem
Get-ChildItem
# cd → Set-Location
Set-Location C:\
# copy → Copy-Item
Copy-Item file.txt dest.txt
# del → Remove-Item
Remove-Item file.txt
# tasklist → Get-Process
Get-Process
# taskkill → Stop-Process
Stop-Process -Name notepad
# ipconfig → Get-NetIPAddress
Get-NetIPAddress
# netstat → Get-NetTCPConnection
Get-NetTCPConnection
Совместные скрипты
149. BAT + PS гибрид
batch
@echo off
echo Running PowerShell command...
powershell -Command "Get-Service | Where-Object {$_.Status -eq 'Running'} | Select-Object -First 5"
pause
150. PS с CMD командами
powershell
# Выполнить CMD команду
$result = cmd /c "systeminfo | findstr 'OS Name'"
$result
# Парсинг вывода CMD
$uptime = cmd /c "net stats srv | findstr 'since'"
Write-Host "Server uptime: $uptime"
Часто задаваемые вопросы
Общие вопросы
Какую оболочку выбрать - CMD или PowerShell?
Для простых задач используйте CMD - он быстрее и проще. Для автоматизации, администрирования и сложных скриптов выбирайте PowerShell. Начинайте с CMD, постепенно переходите на PowerShell.
Как запустить командную строку от имени администратора?
В Windows 10/11: Win+X → Windows PowerShell (администратор) или Командная строка (администратор). В поиске: cmd → правой кнопкой → запуск от администратора.
Почему команда не работает?
Проверьте: 1) права администратора; 2) правильный синтаксис; 3) путь к файлу; 4) наличие программы. Используйте help command или Get-Help command для справки.
Как выполнить команду на удаленном компьютере?
PowerShell: Invoke-Command -ComputerName server01 -ScriptBlock {команда}. CMD: psexec \\server cmd /c "команда". Требуются соответствующие права.
Технические вопросы
Как создать скрипт PowerShell?
Создайте файл с расширением .ps1. Напишите команды. Для выполнения: правой кнопкой → "Выполнить с помощью PowerShell" или powershell -File script.ps1. Включите выполнение скриптов: Set-ExecutionPolicy RemoteSigned.
Как найти все файлы определенного типа?
CMD: dir C:\*.txt /s /b. PowerShell: Get-ChildItem -Path C:\ -Recurse -Include *.txt. Для больших дисков PowerShell эффективнее.
Как мониторить процесс в реальном времени?
PowerShell: while ($true) { Get-Process -Name chrome | Select-Object CPU,Memory; Start-Sleep 1; Clear-Host }. Или используйте Get-Counter для системных метрик.
Как работать с большими файлами логов?
PowerShell: Get-Content file.log -Tail 100 для последних строк. Select-String -Path *.log -Pattern "error" для поиска. Import-Csv для структурированных логов.
Практические советы
Как автоматизировать рутинные задачи?
Создайте скрипты PowerShell для резервного копирования, очистки временных файлов, мониторинга дисков. Используйте планировщик задач для автоматического запуска.
Как безопасно выполнять неизвестные скрипты?
Проверьте код перед выполнением. Используйте виртуальную машину. Создайте ограниченную учетную запись. Отключите выполнение скриптов по умолчанию.
Как оптимизировать производительность скриптов?
Избегайте конвейеров там, где можно использовать методы (.Where(), .Select()). Используйте [CmdletBinding()] для продвинутых функций. Мерьте производительность с Measure-Command.
Как обрабатывать ошибки в скриптах?
Используйте try/catch блоки. Проверяйте $LASTEXITCODE после CMD команд. Добавляйте -ErrorAction Stop для строгой обработки ошибок.
Заключение
Резюме команд
В этой шпаргалке мы рассмотрели 150+ команд CMD и PowerShell:
CMD команды (85):
- Базовые: help, cd, dir, cls, exit (5)
- Переменные: set, echo, title, color (4)
- Запуск: start, call, cmd, runas, schtasks (5)
- Файлы: tree, vol, copy, xcopy, move, rename, del, type (8)
- Директории: md, rd, attrib (3)
- Поиск: find, findstr, where, fc (4)
- Процессы: tasklist, taskkill, timeout, pause, choice (5)
- Сеть: ping, tracert, ipconfig, nslookup, netstat (5)
- Система: systeminfo, hostname, whoami, net user, sc (5)
- Диски: wmic, fsutil, chkdsk, sfc (4)
PowerShell команды (50):
- Основы: Get-Help, Get-Command, Select-Object, Where-Object (4)
- Файлы: Get-ChildItem, New-Item, Copy-Item, Remove-Item (4)
- Процессы: Get-Process, Start-Process, Stop-Process (3)
- Службы: Get-Service, Start-Service, Stop-Service (3)
- Сеть: Test-Connection, Get-NetAdapter, Invoke-Command (3)
- AD: Get-ADUser, New-ADUser, Get-ADGroup (3)
- Автоматизация: Function, ForEach-Object, If/Else (3)
Комбинации (15): Гибридные скрипты и конвертация команд
Эффективность использования
CMD лучше для:
- Быстрые одноразовые команды
- Совместимость со старыми системами
- Простые операции с файлами
PowerShell лучше для:
- Сложная автоматизация
- Работа с объектами
- Удаленное управление
- Современные инфраструктуры
Лучшие практики
1. Изучайте синтаксис - каждая оболочка имеет особенности
2. Тестируйте команды - сначала на тестовых данных
3. Документируйте скрипты - комментарии и описания
4. Используйте конвейеры - мощная фича PowerShell
5. Автоматизируйте - превращайте рутинные задачи в скрипты
Развитие технологий
Командные строки эволюционируют:
- PowerShell Core - кросс-платформенная версия
- Azure CLI - облачное управление
- AWS CLI - инфраструктура как код
- Terraform - декларативная автоматизация
Важные предупреждения
- Права администратора для системных изменений
- Резервные копии перед массовыми операциями
- Тестирование скриптов в безопасной среде
- Документация всех изменений
- Обновление знаний о новых командах
---
**⚠️ Дисклеймер:** Статья носит информационно-образовательный характер и не содержит инструкций для совершения противоправных действий.