Windows系统相关软件的安装

安装Windows

Windows安装教程https://www.microsoft.com/zh-cn/software-download

安装VMware/VirtualBox

VMware安装教程https://blog.csdn.net/SoulNone/article/details/126681722
VirtualBox安装教程https://www.virtualbox.org/manual/

安装常用工具

XShell/SecureCRT远程连接工具
XFTP/FileZilla文件传输工具
Notepad++/VS Code文本编辑器

CMD和PowerShell的使用

CMD命令大全https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/windows-commands
PowerShell教程https://docs.microsoft.com/zh-cn/powershell/

系统版本

  • Windows 95/98/ME早期家用版本
  • Windows NT/2000企业级版本
  • Windows XP经典版本
  • Windows Vista过渡版本
  • Windows 7广泛使用的版本
  • Windows 8/8.1触控优化版本
  • Windows 10当前主流版本
  • Windows 11最新版本
1
2
3
4
5
6
7
8
9
10
查看系统版本
winver 查看Windows版本信息
systeminfo 查看系统详细信息
wmic os get caption 查看操作系统名称

相关文件
C:\Windows\System32 系统核心文件目录
C:\Users 用户主目录
C:\Program Files 64位程序安装目录
C:\Program Files (x86) 32位程序安装目录

用户管理

Windows 是一个多用户操作系统支持多个用户账户同时存在

用户登录注销

  1. 建议使用标准用户账户日常使用管理员账户仅在需要时切换
  2. 点击开始菜单 > 用户头像 > 注销即可注销当前用户
  3. 快捷键 Win + L 可以快速锁定屏幕

添加用户

1
2
3
4
5
6
7
8
9
10
11
12
13
图形界面操作
设置 > 账户 > 家庭和其他用户 > 将其他人添加到这台电脑

命令行操作需要管理员权限
net user 用户名 密码 /add

创建一个用户用户名为testuser密码为123456
net user testuser 123456 /add

细节注意
1.密码必须符合复杂度要求
2.用户名不能包含特殊字符
3.创建后默认在主目录 C:\Users\用户名 下创建用户文件夹

用户组

Windows 中的用户组用于统一管理权限

  • 常见内置组

    • Administrators管理员组
    • Users普通用户组
    • Guests来宾用户组
    • Power Users高级用户组旧版本
  • 查看用户组

    1
    2
    net localgroup              查看所有本地组
    net localgroup Administrators 查看管理员组成员
  • 添加用户到组

    1
    2
    3
    4
    net localgroup 组名 用户名 /add

    将testuser添加到Administrators组
    net localgroup Administrators testuser /add
  • 从组中移除用户

    1
    2
    3
    4
    net localgroup 组名 用户名 /delete

    从Administrators组移除testuser
    net localgroup Administrators testuser /delete

修改密码

1
2
3
4
5
6
7
8
9
10
11
12
图形界面操作
Ctrl + Alt + Del > 更改密码

命令行操作
net user 用户名 新密码

修改testuser的密码为newpass123
net user testuser newpass123

细节注意
1.需要当前用户权限或管理员权限
2.密码必须符合复杂度策略

删除用户

1
2
3
4
5
6
7
8
9
net user 用户名 /delete

删除testuser用户
net user testuser /delete

细节注意
1.需要使用管理员权限
2.删除用户会同时删除用户配置文件
3.建议先备份用户重要数据

切换用户

1
2
3
4
5
6
7
8
方法1Win + L 锁定屏幕后选择其他用户
方法2开始菜单 > 用户头像 > 选择其他用户
方法3Ctrl + Alt + Del > 切换用户

细节注意
1.快速用户切换不会注销原用户
2.原用户的程序仍在后台运行
3.完全切换需要先注销再登录

实用指令

开机重启关机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
shutdown -s -t 0          立即关机
shutdown -s -t 60 60秒后关机
shutdown -r -t 0 立即重启
shutdown -a 取消关机/重启计划
shutdown -l 注销当前用户

图形界面操作
Alt + F4桌面状态下 打开关机对话框
Win + X > U 快速访问电源选项

细节注意
1.关机前请保存所有工作
2.-t 参数指定延迟时间
3.可以使用 shutdown -i 打开图形界面

文件/目录

  • 显示当前目录

    1
    2
    cd              显示当前目录路径
    echo %cd% 显示完整路径
  • 查看目录内容

    1
    2
    3
    4
    5
    6
    7
    8
    dir             列出当前目录内容
    dir /a 显示所有文件包括隐藏文件
    dir /b 简洁模式只显示文件名
    dir /s 递归显示子目录
    dir /o:n 按名称排序
    dir /o:d 按日期排序
    tree 以树形结构显示目录
    tree /f 显示文件和目录
  • 切换目录

    1
    2
    3
    4
    cd ..           返回上级目录
    cd \ 返回根目录
    cd C:\Windows 切换到指定目录
    cd ~ 返回用户主目录PowerShell
  • 创建目录

    1
    2
    3
    4
    5
    6
    mkdir 目录名
    md 目录名 简写


    mkdir test
    mkdir C:\Users\testuser\Documents\newfolder
  • 删除目录

    1
    2
    3
    4
    5
    6
    7
    rmdir 目录名
    rd 目录名 简写
    rmdir /s /q 目录名 递归删除不提示


    rmdir test
    rmdir /s /q C:\temp\oldfolder
  • 创建文件

    1
    2
    3
    4
    5
    type nul > 文件名.txt
    echo. > 文件名.txt


    type nul > hello.txt
  • 拷贝文件/目录

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    copy 源文件 目标路径
    xcopy 源目录 目标目录 /e /i
    robocopy 源目录 目标目录 /e

    常用选项
    /e 复制子目录包括空目录
    /i 如果目标不存在则创建目录
    /y 覆盖时不提示


    copy hello.txt D:\backup\
    xcopy C:\source D:\dest /e /i
    robocopy C:\source D:\dest /e /mt:8
  • 移动文件/目录

    1
    2
    3
    4
    5
    move 源文件 目标路径


    move hello.txt D:\backup\
    move C:\oldfolder D:\newlocation\
  • 重命名

    1
    2
    3
    4
    5
    6
    ren 原文件名 新文件名
    rename 原文件名 新文件名


    ren hello.txt world.txt
    ren oldfolder newfolder
  • 文件内容处理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    type 文件名           显示文件内容
    more 文件名 分页显示文件内容
    find "关键词" 文件名 查找文件中包含关键词的行
    findstr "关键词" 文件名 增强版查找支持正则


    type hello.txt
    more largefile.log
    find "error" app.log
    findstr /i "error" *.log
  • 快捷方式

    1
    2
    3
    图形界面右键 > 创建快捷方式
    命令行创建需要脚本
    powershell -Command "$WshShell = New-Object -ComObject WScript.Shell; $Shortcut = $WshShell.CreateShortcut('C:\link.lnk'); $Shortcut.TargetPath = 'C:\target.exe'; $Shortcut.Save()"
  • 文件属性

    1
    2
    3
    4
    5
    6
    7
    8
    9
    attrib 文件名                  显示文件属性
    attrib +r 文件名 设置为只读
    attrib -r 文件名 取消只读
    attrib +h 文件名 设置为隐藏
    attrib -h 文件名 取消隐藏
    attrib +s 文件名 设置为系统文件


    attrib +h +s secret.txt

时间日期

1
2
3
4
5
6
7
8
9
10
11
date                显示/设置日期
time 显示/设置时间
date /t 仅显示日期
time /t 仅显示时间

图形界面
右下角任务栏时钟双击可调整时间


date 2024-01-01
time 12:00:00

搜索查找

  • where 指令查找可执行文件

    1
    2
    3
    4
    5
    where 文件名


    where notepad
    where python
  • dir 搜索

    1
    2
    3
    4
    5
    dir /s /b *关键词*


    dir /s /b *.txt
    dir /s /b *report*
  • findstr 搜索文件内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    findstr /s /i "关键词" *.扩展名

    常用选项
    /s 递归搜索子目录
    /i 忽略大小写
    /n 显示行号


    findstr /s /i "error" *.log
    findstr /s /n /i "TODO" *.cs

压缩和解压

  • 图形界面右键 > 发送到 > 压缩(zipped)文件夹
  • 第三方工具WinRAR7-ZipBandizip
1
2
3
4
5
6
7
7-Zip 命令行需安装
7z a archive.zip files\* 压缩
7z x archive.zip -ooutput\ 解压

WinRAR 命令行需安装
rar a archive.rar files\* 压缩
rar x archive.rar output\ 解压

任务计划

Windows 任务计划程序可以定时执行任务

  • 图形界面操作

    1
    2
    3
    控制面板 > 管理工具 > 任务计划程序

    taskschd.msc
  • 命令行操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    schtasks 命令

    创建任务
    schtasks /create /tn "任务名" /tr "程序路径" /sc daily /st 09:00

    查询任务
    schtasks /query

    删除任务
    schtasks /delete /tn "任务名" /f

    常用参数
    /tn 任务名称
    /tr 要运行的程序
    /sc 计划类型MINUTE/HOURLY/DAILY/WEEKLY/MONTHLY
    /st 开始时间
    /ru 运行用户

    每天上午9点执行备份脚本
    schtasks /create /tn "DailyBackup" /tr "C:\backup.bat" /sc daily /st 09:00

帮助指令

1
2
3
4
5
6
7
help                查看所有可用命令
命令 /? 查看特定命令的帮助


help dir
dir /?
net user /?

其他指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
cls                 清屏
exit 退出命令行
pause 暂停并显示"按任意键继续"
echo on/off 显示/隐藏命令回显
@echo off 批处理中隐藏命令本身

系统信息
systeminfo 详细系统信息
msinfo32 系统信息图形界面
dxdiag DirectX诊断工具

网络相关
ipconfig 查看IP配置
ping 地址 测试网络连接
tracert 地址 跟踪路由
nslookup 域名 DNS查询

进程管理
tasklist 列出所有进程
taskkill /PID 进程ID 结束进程
taskkill /IM 进程名 按名称结束进程

服务管理
services.msc 服务管理图形界面
net start 启动服务
net stop 停止服务

磁盘管理
diskmgmt.msc 磁盘管理图形界面
chkdsk 检查磁盘错误
defrag 磁盘碎片整理

环境变量
set 查看所有环境变量
set 变量名=值 设置环境变量临时
setx 变量名 值 设置环境变量永久

磁盘分区/管理

硬盘说明

  1. Windows 支持多种文件系统NTFS推荐FAT32exFATReFS等

  2. 磁盘标识

    • IDE/SATA 硬盘通常标识为 HD0HD1 等
    • SCSI/SAS 硬盘也有类似标识
    • 在系统中显示为 C:D:E: 等盘符
  3. 分区类型

    • 主分区最多4个
    • 扩展分区只能有1个
    • 逻辑分区在扩展分区内创建

分区管理

图形界面操作

1
2
3
4
5
6
7
8
磁盘管理工具
diskmgmt.msc

操作步骤
1. 右键"此电脑" > 管理 > 磁盘管理
2. 右键未分配空间 > 新建简单卷
3. 按照向导设置大小盘符文件系统
4. 完成格式化

命令行操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diskpart 命令

进入diskpart
diskpart

查看磁盘
list disk

选择磁盘
select disk 0

查看分区
list partition

创建分区
create partition primary size=102400

格式化分区
format fs=ntfs quick label="Data"

分配盘符
assign letter=E

清理磁盘危险操作
clean

细节注意
1.diskpart 是交互式命令需要逐条输入
2.操作前务必确认选择的磁盘正确
3.clean 命令会删除所有数据

磁盘查询

1
2
3
4
5
wmic logicaldisk get name,size,freespace    查看磁盘空间
fsutil volume diskfree C: 查看指定磁盘使用情况

图形界面
此电脑中查看各磁盘容量

网络环境配置

查看网络配置

1
2
3
4
5
6
ipconfig                查看基本网络配置
ipconfig /all 查看详细网络配置
ipconfig /displaydns 查看DNS缓存

图形界面
控制面板 > 网络和共享中心 > 更改适配器设置

网络诊断

1
2
3
4
5
6
7
8
9
10
11
12
ping 目标地址           测试连通性
ping -t 目标地址 持续ping
tracert 目标地址 跟踪路由路径
pathping 目标地址 结合ping和tracert
nslookup 域名 DNS查询
netstat -an 查看所有网络连接
netstat -ano 查看连接及进程ID


ping www.baidu.com
tracert 8.8.8.8
netstat -ano | findstr "80"

设置IP地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
图形界面操作
1. 控制面板 > 网络和共享中心
2. 更改适配器设置
3. 右键网卡 > 属性
4. 选择"Internet协议版本4(TCP/IPv4)"
5. 设置IP地址子网掩码网关DNS

命令行操作需要管理员权限
netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1
netsh interface ip set dns "以太网" static 8.8.8.8

动态获取IP
netsh interface ip set address "以太网" dhcp
netsh interface ip set dns "以太网" dhcp

设置主机名

1
2
3
4
5
6
7
8
图形界面操作
设置 > 系统 > 关于 > 重命名此电脑

命令行操作需要管理员权限
wmic computersystem where name="%computername%" call rename name="NewName"

重启生效
shutdown -r -t 0

hosts文件

1
2
3
4
5
6
7
8
9
10
11
文件位置C:\Windows\System32\drivers\etc\hosts

编辑方法
1. 用记事本以管理员身份打开
2. 添加映射IP地址 域名
127.0.0.1 localhost
192.168.1.100 myserver.local

细节注意
1.修改后可能需要刷新DNS缓存
2.ipconfig /flushdns 刷新DNS缓存

防火墙

1
2
3
4
5
6
7
8
9
10
11
图形界面
控制面板 > Windows Defender 防火墙

命令行需要管理员权限
netsh advfirewall firewall show rule name=all 查看所有规则
netsh advfirewall firewall add rule name="允许8080" dir=in action=allow protocol=TCP localport=8080
netsh advfirewall firewall delete rule name="允许8080"

启用/禁用防火墙
netsh advfirewall set allprofiles state on
netsh advfirewall set allprofiles state off

注册表管理

注册表简介

注册表是Windows的核心数据库存储系统和应用程序的配置信息

1
2
3
4
5
6
7
8
9
10
打开注册表编辑器
regedit
regedt32

主要根键
HKEY_CLASSES_ROOT (HKCR) 文件关联
HKEY_CURRENT_USER (HKCU) 当前用户配置
HKEY_LOCAL_MACHINE (HKLM) 机器配置
HKEY_USERS (HKU) 所有用户配置
HKEY_CURRENT_CONFIG (HKCC) 硬件配置

注册表操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
导出注册表
reg export HKCU\Software backup.reg

导入注册表
reg import backup.reg

查询值
reg query HKCU\Software

添加值
reg add HKCU\Software\MyApp /v Setting /t REG_SZ /d "Value"

删除值
reg delete HKCU\Software\MyApp /v Setting

细节注意
1.修改注册表前务必备份
2.错误的修改可能导致系统不稳定
3.某些修改需要重启生效

服务管理

查看服务

1
2
3
4
5
6
7
8
9
10
图形界面
services.msc

命令行
net start 查看运行中的服务
sc query 查询所有服务
sc query 服务名 查询特定服务


sc query Spooler

启动/停止服务

1
2
3
4
5
6
7
8
9
10
11
net start 服务名              启动服务
net stop 服务名 停止服务
net pause 服务名 暂停服务
net continue 服务名 继续服务

sc start 服务名 启动服务
sc stop 服务名 停止服务


net start Spooler
net stop Spooler

设置服务启动类型

1
2
3
4
5
6
7
sc config 服务名 start= auto      自动启动
sc config 服务名 start= delayed-auto 自动延迟启动
sc config 服务名 start= demand 手动启动
sc config 服务名 start= disabled 禁用


sc config Spooler start= auto

事件查看器

查看日志

1
2
3
4
5
6
7
8
9
10
11
12
13
图形界面
eventvwr.msc

日志类型
- 应用程序日志
- 安全日志
- 系统日志
- Setup日志
- Forwarded Events

命令行
wevtutil el 列出所有日志
wevtutil qe Application /c:10 查询最近10条应用日志

日志筛选

1
2
3
4
5
6
7
8
图形界面筛选
1. 右键日志类别
2. 筛选当前日志
3. 设置时间来源事件ID等条件

PowerShell筛选
Get-EventLog -LogName Application -Newest 10
Get-EventLog -LogName System -EntryType Error

备份与恢复

系统还原

1
2
3
4
5
6
7
8
图形界面
1. 搜索"创建还原点"
2. 系统保护选项卡
3. 系统还原按钮
4. 选择还原点

命令行
rstrui.exe 打开系统还原向导

文件历史

1
2
设置 > 更新和安全 > 备份 > 添加驱动器
自动备份文件到外部驱动器

系统映像备份

1
2
控制面板 > 备份和还原 > 创建系统映像
可以备份整个系统到外部硬盘

命令行备份

1
2
3
4
5
6
7
8
9
10
wbadmin 命令需要管理员权限

创建备份
wbadmin start backup -backupTarget:E: -include:C: -allCritical -quiet

恢复备份
wbadmin start recovery -version:<版本标识> -itemType:Volume -items:C: -recoveryTarget:C: -quiet

查看备份
wbadmin get versions

软件安装与管理

安装软件

1
2
3
4
5
6
7
8
9
10
11
12
13
图形界面
1. 下载安装包.exe/.msi
2. 双击运行安装程序
3. 按照向导完成安装

静默安装
setup.exe /S 大多数安装程序
setup.exe /quiet MSI安装包
setup.exe /silent 部分安装程序

MSI安装
msiexec /i package.msi 安装
msiexec /x package.msi 卸载

Windows Package Manager (winget)

1
2
3
4
5
6
7
8
9
10
winget search 软件名           搜索软件
winget install 软件名 安装软件
winget uninstall 软件名 卸载软件
winget upgrade 软件名 升级软件
winget list 列出已安装软件


winget install Microsoft.VisualStudioCode
winget install Google.Chrome
winget upgrade --all

Chocolatey 包管理器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
安装Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

使用
choco search 软件名 搜索
choco install 软件名 安装
choco uninstall 软件名 卸载
choco upgrade 软件名 升级
choco list 列出已安装


choco install git
choco install nodejs
choco upgrade all

PowerShell编程

脚本运行

PowerShell 脚本后缀为 .ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
创建脚本
notepad hello.ps1

编写脚本
Write-Host "Hello World!"

执行策略设置首次使用
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

执行脚本
.\hello.ps1 相对路径
C:\scripts\hello.ps1 绝对路径
PowerShell -File hello.ps1 指定解释器

细节注意
1.默认情况下禁止执行脚本
2.需要设置执行策略
3.可以右键 > 使用PowerShell运行

变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 定义变量
$name = "World"
$number = 100
$array = @(1, 2, 3)
$hash = @{Key1="Value1"; Key2="Value2"}

# 使用变量
Write-Host "Hello $name"
Write-Host $number

# 特殊变量
$HOME 用户主目录
$PWD 当前目录
$PSVersionTable PowerShell版本信息
$env:PATH 环境变量

# 常量
$readonly_var = "Constant"
Set-Variable -Name CONST -Value 100 -Option Constant

运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 算术运算
$sum = 10 + 5
$diff = 10 - 5
$product = 10 * 5
$quotient = 10 / 5
$remainder = 10 % 3

# 比较运算
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于

# 逻辑运算
-and
-or
-not
! 非简写

# 字符串运算
$str1 = "Hello"
$str2 = "World"
$combined = $str1 + " " + $str2

条件判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# if-else
if ($age -ge 18) {
Write-Host "成年人"
} elseif ($age -ge 12) {
Write-Host "青少年"
} else {
Write-Host "儿童"
}

# switch
switch ($day) {
1 { Write-Host "星期一" }
2 { Write-Host "星期二" }
3 { Write-Host "星期三" }
default { Write-Host "其他" }
}

# 文件判断
if (Test-Path "C:\file.txt") {
Write-Host "文件存在"
}

if (Test-Path "C:\folder" -PathType Container) {
Write-Host "是目录"
}

循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# for循环
for ($i = 1; $i -le 10; $i++) {
Write-Host $i
}

# foreach循环
$fruits = @("Apple", "Banana", "Orange")
foreach ($fruit in $fruits) {
Write-Host $fruit
}

# while循环
$i = 1
while ($i -le 10) {
Write-Host $i
$i++
}

# do-while循环
$i = 1
do {
Write-Host $i
$i++
} while ($i -le 10)

函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 定义函数
function Get-Sum {
param(
[int]$num1,
[int]$num2
)
return $num1 + $num2
}

# 调用函数
$result = Get-Sum -num1 10 -num2 20
Write-Host "结果: $result"

# 内置函数
Get-Process 获取进程
Get-Service 获取服务
Get-ChildItem 获取目录内容ls/dir的别名
Copy-Item 复制文件cp/copy的别名
Remove-Item 删除文件rm/del的别名

管道和对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 管道操作
Get-Process | Where-Object {$_.CPU -gt 100}
Get-Service | Where-Object {$_.Status -eq "Running"}

# 对象属性
Get-Process | Select-Object Name, CPU, Memory
Get-ChildItem | Select-Object Name, Length, LastWriteTime

# 排序
Get-Process | Sort-Object CPU -Descending
Get-ChildItem | Sort-Object Length

# 导出
Get-Process | Export-Csv processes.csv
Get-Service | ConvertTo-Json | Out-File services.json

学习资源

  • 视频
    • Windows PowerShellhttps://www.bilibili.com/video/BV1u4411G7Th
    • PowerShell 从入门到精通教程https://www.bilibili.com/video/BV1RekHBoEAt
  • 官方文档
    • Windows 官方文档https://docs.microsoft.com/zh-cn/windows/
    • PowerShell 文档https://docs.microsoft.com/zh-cn/powershell/
  • 书籍
    • Windows PowerShell 实战指南Don Jones 著
    • PowerShell in ActionBruce Payette 著
  • 教程
    • PowerShell 中文博客http://www.pstips.net/
    • Microsoft Learnhttps://learn.microsoft.com/zh-cn/training/
  • 社区
    • Stack Overflow PowerShell 标签https://stackoverflow.com/questions/tagged/powershell
    • Reddit r/PowerShellhttps://www.reddit.com/r/PowerShell/
  • 工具
    • Windows Terminal现代化终端
    • VS Code + PowerShell 扩展开发环境
    • PowerShell ISE集成脚本环境
    • Cmder增强型CMD