一. Windows防火墙与Defender
介绍:Windows防火墙与Defender是Windows操作系统中两大重要的安全组件,它们共同工作以保护计算机免受各种网络威胁和病毒攻击。
- Windows防火墙:Windows防火墙是一种软件防火墙,旨在监控和控制进出计算机的数据流量。它可以阻止不受信任的程序或服务通过网络与外界通信,从而降低被恶意攻击的风险。防火墙可以基于程序、端口、协议等多个维度进行配置,用户可以根据需要调整规则,允许或阻止特定的流量。
- Windows Defender:Windows Defender(现更名为Microsoft Defender)是微软为Windows操作系统提供的内置防病毒软件。它提供实时保护,监控文件、应用程序和其他活动中的潜在威胁。Microsoft Defender除了病毒防护外,还提供间谍软件防护、垃圾邮件过滤、云端保护等功能,确保系统的整体安全。
二. 用户与组
介绍:在Windows操作系统中,“用户”和“组”是用于管理访问权限和控制计算机安全的核心要素。通过正确地配置和管理用户账户和用户组,可以有效地控制系统资源的访问权限。
-
查找:此电脑 --> 右键点击管理 --> 系统工具 --> 本地用户和组
- 用户:每个用户账户代表一个计算机使用者,通过用户名和密码进行身份验证。Windows允许管理员为不同的用户配置不同的访问权限,这样每个用户只能访问自己授权的资源。用户可以是本地用户,也可以是域用户(在公司或大型网络环境中)。
- 组:组是将多个用户结合在一起的方式,以便统一配置权限。通过将多个用户添加到同一个组,可以快速管理这些用户对计算机资源的访问权限。例如,管理员组有较高的权限,而标准用户组则限制了用户的系统操作权限。
-
CMD命令的使用:
-
添加用户:可以通过net user命令来添加用户。假设我们要添加一个名为testuser的用户,并设置密码为password123,命令如下:
net user testuser password123 /add
-
删除用户:删除用户账户使用net user命令,并加上/delete选项。要删除用户testuser,命令如下:
net user testuser /delete
-
添加用户到组:可以使用net localgroup命令将用户添加到特定的用户组。例如,将testuser添加到Administrators组中:
net localgroup Administrators testuser /add
-
删除用户从组中移除:同样,使用net localgroup命令将用户从某个组中删除。例如,将testuser从Administrators组中删除:
net localgroup Administrators testuser /delete
三. 计划任务
介绍:计划任务(Task Scheduler)是Windows操作系统中的一项非常实用的功能,可以帮助用户自动化日常任务,如备份文件、清理临时文件、执行系统扫描等。通过计划任务,可以减少重复工作,提高工作效率。
-
查找:此电脑 --> 右键点击管理 --> 系统工具 --> 任务计划程序
-
创建计划任务:用户可以通过任务计划程序来设置定时任务。在指定的时间或条件下,Windows会自动执行特定的程序或脚本。计划任务可以配置为在后台运行,不会干扰用户的正常操作。
-
常见操作:
- 设置定时任务:例如,每天早晨7点自动运行备份脚本,可以在任务计划程序中配置触发条件为“每天”,并设置具体的执行时间。
- 任务执行时的操作:例如,设置任务在计算机启动时运行特定程序,或者在系统空闲时执行清理操作。
-
-
计划任务的常用操作:
-
创建一个新的计划任务:打开CMD或PowerShell,使用SchTasks命令来创建名为DailyBackup的计划任务。例如,设置每天凌晨2点运行一个名为backup.bat的脚本:
schtasks /create /tn "DailyBackup" /tr "C:\Scripts\backup.bat" /sc daily /st 02:00
-
查看当前计划任务:要查看当前系统中已设置的计划任务,可以使用以下命令:
schtasks /query
-
删除计划任务:要删除名为DailyBackup的计划任务,可以使用:
schtasks /delete /tn "DailyBackup" /f
-
修改计划任务:可以使用/change选项来修改已存在的任务。例如,修改某个任务的运行时间:
schtasks /change /tn "DailyBackup" /st 03:00
-
运行计划任务:手动触发某个计划任务的执行,可以使用:
schtasks /run /tn "DailyBackup"
-
设置任务的权限:在创建任务时,可以指定任务以管理员权限执行。例如,要以管理员权限运行backup.bat脚本:
schtasks /create /tn "BackupWithAdmin" /tr "C:\Scripts\backup.bat" /sc daily /st 02:00 /ru "SYSTEM"
四.PowerShell
介绍:PowerShell 是一个强大的命令行界面(CLI)和脚本语言,广泛用于系统管理和自动化任务。它不仅能够执行传统的命令,还支持强大的脚本功能和流程控制,能够帮助管理员批量管理多个系统、处理复杂的任务等。
1. PowerShell 基础语法
1.1 变量的定义
-
介绍:在 PowerShell 中,变量以 $ 符号开头,后面跟上变量名。与许多编程语言不同,PowerShell 是 动态类型,不需要事先声明数据类型。PowerShell 会根据赋值的内容自动推断变量类型。
-
示例:
# 定义一个字符串变量 $name = "John" # 定义一个数字变量 $age = 30 # 定义一个布尔变量 $isActive = $true
1.2 数据类型
- 字符串:"Hello World" 或 'Hello World'
- 整数:18
- 浮点数:3.14
- 布尔值:$true 或 $false
- 数组:@("apple", "banana", "cherry")
1.3 输出
-
介绍:可以使用 echo 命令输出结果,也可以直接输入变量或值来显示。
-
示例:
# 输出字符串 echo "Hello, World!" # 直接输出变量 $name = "Alice" $name # 输出变量内容
2. 控制语句
2.1 If-else 语句
-
介绍:for 循环用于按指定次数反复执行代码块。
-
示例:
$age = 18 if ($age -ge 18) { echo "You are an adult." } elseif ($age -lt 18) { echo "You are a minor." } else { echo "Invalid age." }
2.2 Switch 语句
-
介绍:switch 语句用于匹配多个条件。它比多个 if-else 更简洁。
-
示例:
$day = "Monday" switch ($day) { "Monday" { echo "Start of the week." } "Friday" { echo "End of the week." } default { echo "It's some other day." } }
2.3 For 循环
-
介绍:for 循环用于按指定次数反复执行代码块。
-
示例:
for ($i = 1; $i -le 5; $i++) { echo "Number $i" }
2.4 Foreach 循环
-
介绍:foreach 用于遍历数组或集合中的每个元素。
-
示例:
$fruits = @("apple", "banana", "cherry") foreach ($fruit in $fruits) { echo $fruit }
2.5 While 循环
-
介绍:while 循环会在条件为真时持续执行,常用于不确定次数的循环。
-
示例:
$i = 1 while ($i -le 5) { echo "Iteration $i" $i++ }
3. 数组
介绍:PowerShell 支持多种数组类型,既可以是简单的线性数组,也可以是哈希表(键值对)。
3.1 定义数组
-
介绍:在PowerShell中数组通过 @() 符号来定义。
-
示例:
# 定义一个简单的数组 $fruits = @("apple", "banana", "cherry") # 输出数组中的元素 $fruits[0] # 输出 "apple" $fruits[1] # 输出 "banana"
3.2 访问和修改数组元素
-
介绍:可以通过索引访问和修改数组元素。
-
示例:
# 修改数组元素 $fruits[1] = "blueberry" # 将 "banana" 改为 "blueberry" # 输出修改后的数组 $fruits
3.3 数组的遍历
-
介绍:可以使用 foreach 循环遍历数组。
-
示例:
foreach ($fruit in $fruits) { echo $fruit }
4. 函数
- 介绍:在 PowerShell 中,函数通过 function 关键字定义。函数可以接受参数,并返回一个值。
4.1 定义函数
-
格式:
function FunctionName { # 函数体:编写你想要执行的代码 }
-
示例:
# Say-Hello为函数名 function Say-Hello { echo "Hello, World!" # 输出Hello, World! } # 调用函数 Say-Hello
4.2 带参数的函数
-
介绍:函数可以接收参数,在定义时通过括号 () 指定参数名。
-
格式:
function FunctionName { param ( [类型]$param1, [类型]$param2 ) # 函数体 # 可以在这里使用 $param1 和 $param2 }
-
示例:
function Greet-User { param ( [string]$name ) echo "Hello, $name!" } # 调用函数并传递参数 Greet-User -name "Alice" # 输出Hello,Alice!
4.3 函数返回值
-
介绍:PowerShell 函数可以返回值。默认情况下,函数的输出会作为返回值。如果想显式返回某个值,可以使用 return。
-
示例:
function add-num { param ( [int]$a, [int]$b ) return $a + $b } # 调用函数并获取返回值 $result = add-num -a 5 -b 10 Write-Output $result # 输出 15
5. PowerShell 常用命令
-
Get-Help:获取命令的帮助文档。
Get-Help Get-Process
-
Get-Process:列出当前运行的进程。
Get-Process
-
Set-ExecutionPolicy:设置脚本的执行策略,允许或禁止执行 PowerShell 脚本。
Set-ExecutionPolicy RemoteSigned
-
Get-Service:查看当前系统中的服务。
Get-Service
-
Start-Service / Stop-Service:启动或停止服务。
Start-Service -Name "wuauserv" # 启动 Windows 更新服务 Stop-Service -Name "wuauserv" # 停止 Windows 更新服务