当前位置: 首页 > news >正文

合肥网站推广培训网站开发多久能学会

合肥网站推广培训,网站开发多久能学会,电子商务网站建设的展望,开发微信小程序大概需要多少钱PowerShell 第11章:过滤和比较(上) PowerShell 第11章:过滤和比较(上) **左过滤思维 & 比较运算符全解**PowerShell 第11章:过滤和比较(上)1️⃣ 为什么几乎所有命令…

PowerShell 第11章:过滤和比较(上)

PowerShell 第11章:过滤和比较(上) **左过滤思维 & 比较运算符全解**

  • PowerShell 第11章:过滤和比较(上)
    • 1️⃣ 为什么几乎所有命令行都要“先过滤”?
    • 2️⃣ 左过滤的常用场景与“正确用法”
      • 2.1 能用参数就不用管道
      • 2.2 不能过滤怎么办?
    • 3️⃣ 比较运算符“全家桶”
      • 3.1 基础运算符
      • 3.2 模式匹配
      • 3.3 布尔逻辑
    • 4️⃣ 实战:把“左过滤”用在日常命令
    • 5️⃣ 课后 3 分钟练习
    • 6️⃣ 一图速记

左过滤思维 & 比较运算符全解

目标:学会“在最靠近数据源的地方把不需要的对象挡在门外”,并熟练掌握比较运算符,为后续的 Where-Object、管道迭代打下基础。


1️⃣ 为什么几乎所有命令行都要“先过滤”?

  • 你真正关心的通常不是“所有进程/所有服务”,而是满足某些条件的那一小撮。

  • 左过滤(Left Filtering):尽量把过滤条件放在命令行最左边(越靠近数据源越好)。

    • 好处:减少无谓的数据传输与计算,网络/服务器更省、命令更快。
    • 代价:不同 Cmdlet 的过滤写法不尽相同,需要一点“API 记忆”。

例子

  • 直接在数据源筛选(推荐):

    # 仅要名字以 DC 开头的计算机对象(Active Directory)
    Get-ADComputer -Filter "Name -like 'DC*'"
    
  • 不能满足就交给通用过滤器(次选):

    # 只要正在运行的服务(Get-Service 不支持直接按 Status 过滤)
    Get-Service | Where-Object { $_.Status -eq 'Running' }
    

2️⃣ 左过滤的常用场景与“正确用法”

2.1 能用参数就不用管道

  • 某些 Cmdlet 提供了 “过滤参数”,直接过滤最省事:

    Get-Service -Name 'e*','s*'        # 仅按 Name 支持过滤
    Get-ADComputer -Filter "Enabled -eq 'true'"   # AD 模块支持属性级过滤
    

经验:先看完整帮助Get-Help <Cmdlet> -Full),能用参数过滤就不要把所有对象拉回来再 Where-Object

2.2 不能过滤怎么办?

  • 使用 Where-Object(下篇详谈),或使用括号表达式将另一条命令的输出作为参数值:

    Get-WmiObject -Class Win32_BIOS -ComputerName (Get-Content .\names.txt)
    

3️⃣ 比较运算符“全家桶”

规则:运算结果永远是布尔值($true/$false)。字符串比较默认不区分大小写,大小写敏感使用 -c* 版本。

3.1 基础运算符

语义不区分大小写区分大小写
相等 / 不等-eq / -ne-ceq / -cne
大于 / 小于-gt / -lt-cgt / -clt
大于等于 / 小于等于-ge / -le-cge / -cle

例子

5 -eq 5        # $true
'Hello' -eq 'hello'    # $true(不区分大小写)
(Get-Date) -ge '2012-12-02'   # 日期也能比

3.2 模式匹配

语义不区分大小写区分大小写
通配符匹配(支持 *-like / -notlike-clike / -cnotlike
正则匹配-match / -notmatch-cmatch / -cnotmatch

例子

'Hello' -like '*ll*'      # $true
'svchost.exe' -match '^svc.*\.exe$'  # $true

3.3 布尔逻辑

(5 -gt 10) -and (10 -gt 100)  # $false
(5 -gt 10) -or (10 -lt 100)   # $true
-not $true                    # $false# 判断“没有响应”的进程(两种写法)
$_.Responding -eq $false
-not $_.Responding

小技巧:布尔逻辑常与 () 配合,读起来顺、维护性高。


4️⃣ 实战:把“左过滤”用在日常命令

# AD 里只捞需要的(别 filter * 再海量回传)
Get-ADComputer -Filter "OperatingSystem -like '*Server*'"# Get-Service 只能按 Name 过滤;状态筛选放 Where(下篇继续)
Get-Service -Name 's*' # WMI/ CIM 过滤常有自己一套(后续章节详讲)

5️⃣ 课后 3 分钟练习

  1. 找出名字以 DC 开头的域控:

    Get-ADComputer -Filter "Name -like 'DC*'"
    
  2. 只显示名为 e*s* 的服务:

    Get-Service -Name 'e*','s*'
    
  3. 判断字符串是否匹配某正则:

    'conhost.exe' -match '^c.*\.exe$'
    

6️⃣ 一图速记

  • 能参数过滤,就别 Where
  • 越靠左越好,越靠近数据源越好
  • 字符串默认不区分大小写,敏感用 -c*
  • 模式匹配:简单用 -like,复杂用 -match(正则)

http://www.dtcms.com/a/501378.html

相关文章:

  • 山东省建设工会网站郑州市做网站的
  • 怎样防止别人利用自己的电脑做网站服务器网络工程师培训大约多少钱
  • 有专做代金券的网站吗做网站需要注册什么公司
  • 自建电商网站销售商品网页设计培训全名
  • 威海市住房和城乡建设局官方网站在线视频直播网站建设
  • 广东网站建设定制株洲网站制作与设计
  • 常见的网站开发工具有哪些网络运营与维护
  • 织梦手机wap网站标签调用简约装修
  • 【机器学习入门】9.1 神经元模型 —— 从生物神经元到人工神经网络基础
  • 自己想做个网站 费用搜狗网站推广
  • 惠州网站制作计划创新的南昌网站建设
  • 品牌网站设计制作一般多少钱html5 网站logo
  • 网站开发常用的开发工具wordpress 作品集网站
  • 租用服务器建设网站费用开发工具在哪里 word
  • 如何在手机上做微电影网站怎么做代刷网站教程
  • 大学网站建设图3d网站建设
  • Java中的选择结构
  • 网站ww正能量赣州网站优化公司
  • 【机器人学中的状态估计】联合高斯概率密度函数、分解与推断
  • C++---- 模板进阶
  • 如何用wordpress建网站下载建设银行官方网站
  • 柳州正规网站建设加盟网站空间提供
  • 延安网站建设费用网站备案与不备案的区别
  • 洛谷 P3375:【模板】KMP ← next 数组应用
  • java.math 包详解
  • Windows下cmd生成文件哈希值
  • 免费公司企业建站代理wordpress设置权限
  • 什么网站做产品销售做的好特色的合肥网站建设
  • 如何做网站关键词做翻译兼职的网站
  • 上海做网站汉狮网络笑话网站 wordpress