很早之前看过MVA的Powershell课程,最近准备回顾一下,还是有一些意外的收获。

<<快速入门 : PowerShell 3.0 高级工具和脚本>>

1. Invoke-Item(简写成ii):在命令行状态下,你想打开资源管理器是不是觉得很不方便?用这个命令就能实现快速打开当前路径的资源管理器。

2. ${var name}: 居然支持带有空格的变量名!

3. [int]$x = 1: 强制声明变量的类型。

4. [Validateset](1, 'abc', 3): 限定变量的内容。

5. `: 转义符

6. 子表达式:在$()中的内容会被当作普通的Powershell命令来执行

$p1 = Get-Process lsass
Write-Host "PID1=$p1.id"
# PID=System.Diagnostics.Process (lsass).id;一开始看有点迷糊,分解成如下形式就明了了;另外从ISE终端的颜色也可以分辨出不同
Write-Host "PID1=" $p1 ".id"
"--分割线--"
$p2 = Get-Process lsass
Write-Host "PID2=$($p2.Id)"
# PID=712;一开始看有点迷糊,分解成如下形式就明了了
$pid2=$p2.id
Write-Host "PID2=$pid2"

7. 1..4: 范围运算符

8. [CmdletBinding()]: 详见http://windowsitpro.com/blog/what-does-powershells-cmdletbinding-do

9. Get-Service -OutVariable var

10. Get-Service [[-Name] <String[]>]: 帮助文件中的<String[]>表示允许接受多个由逗号分隔的值;若没有[],则表示只能接受一个值

11. 定义数组、哈希表这类对象时,你会发现若一行一元素时,元素间的逗号或分号可有可无。原因是“Powershell中回车符也是语句结束符,可以替代分号逗号”

12. $ht = [ordered]@{ }

13. 哈希表转换成真正的对象:$obj= New-Object -TypeName PSObject -Property $ht

14. XXX | clip

15. help about_Functions_Advanced_Parameters

16. $var.pstypenames

<<快速入门 : PowerShell 3.0>>

1. 大部分Cmdlet的帮助文件里都有一个参数-InputObject,但是似乎从没见过有脚本用到这个参数。这个参数应该这么用,Start-Service -InputObject (Get-Service -Name BITS),难怪不常见了,因为一般都会写成Get-Service -Name BITS | Start-Service

2. Get-ADComputer -Filter * | Get-WMIObject -Class Win32_BIOS -Computername { $_.Name }:如果将一个Script Block作为参数,那么可以像ForEach语句中调用$_一样来操作。

3. Get-WmiObject -Class Win32_BIOS -ComputerName (Get-Content .\computer.txt)一开始看这样写有点糊涂,但是化解成Get-WmiObject -Class Win32_BIOS -ComputerName ‘server1’, 'server2'就不难理解了,因为-ComputerName允许的参数类型是String[](多个)

<<Learn Windows PowerShell in A Month of lunches>>

1. Select-Object中所使用的哈希表只接受Name和Expression,而Format-Table比它多三个,分别为Width,Alignment,FormatString

2. 和Select-Object不同,Format-XXX会改变结果的TypeName

3. 一串命令的输出结果可以同时包含多种类型的对象,最好的例子就是Get-ChildItem,既有DirectoryInfo,又有FileInfo

4. Invoke-Command -ComputerName chn-dochen2 -ScriptBlock {Get-Service -Name BITS} | Get-Member,这里会得到一个叫做Deserialized(译:反序列化).System.ServiceProcess.ServiceController的反序列化对象类型

5. Get-CimClass等价于Get-WmiObject -List,可以罗列出Namespace中的所有Class(类),最常见的Namespace就是root\cimv2了

6. 位置参数:即帮助文件中的Position: N

Powershell笔记之MVA课程的更多相关文章

  1. PowerShell 笔记 - 基础篇

    Powershell 笔记 基础 查看powershell版本 PS C:\Users\chino> $PSVersionTable Name Value ---- ----- PSVersio ...

  2. 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week2 Neural Networks Basics课堂笔记

    Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week2 Neural Networks Basics 2.1 ...

  3. 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week1 Introduction to deep learning课堂笔记

    Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week1 Introduction to deep learn ...

  4. Stanford NLP学习笔记1:课程介绍

    Stanford NLP课程简介 1. NLP应用例子 问答系统: IBM Watson 信息提取(information extraction) 情感分析 机器翻译 2. NLP应用当前进展 很成熟 ...

  5. 【Python学习笔记】Coursera课程《Using Databases with Python》 密歇根大学 Charles Severance——Week4 Many-to-Many Relationships in SQL课堂笔记

    Coursera课程<Using Databases with Python> 密歇根大学 Week4 Many-to-Many Relationships in SQL 15.8 Man ...

  6. 【Python学习笔记】Coursera课程《Using Python to Access Web Data》 密歇根大学 Charles Severance——Week6 JSON and the REST Architecture课堂笔记

    Coursera课程<Using Python to Access Web Data> 密歇根大学 Week6 JSON and the REST Architecture 13.5 Ja ...

  7. 【DataScience学习笔记】Coursera课程《数据科学家的工具箱》 约翰霍普金斯大学——Week3 Conceptual Issues课堂笔记

    Coursera课程<数据科学家的工具箱> 约翰霍普金斯大学 Week3 Conceptual Issues Types of Questions Types of Data Scienc ...

  8. 【Python学习笔记】Coursera课程《Using Python to Access Web Data 》 密歇根大学 Charles Severance——Week2 Regular Expressions课堂笔记

    Coursera课程<Using Python to Access Web Data > 密歇根大学 Charles Severance Week2 Regular Expressions ...

  9. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...

随机推荐

  1. python基础学习1-类相关内置函数

    #!/usr/bin/env python # -*- coding:utf-8 -*- #===issubclass(class,classinfo) 检查class是否是classinfo类的子类 ...

  2. 5289: [Hnoi2018]排列

    5289: [Hnoi2018]排列 链接 分析: 首先将题意转化一下:每个点向a[i]连一条边,构成了一个以0为根节点的树,要求选一个拓扑序,点x是拓扑序中的第i个,那么价值是i*w[x].让价值最 ...

  3. P3877 [TJOI2010]打扫房间

    xswl以为是个插头dp,然后发现就是个sb题 相当于就是个匹配.每个格子度数为2,所以可以匹配2个相邻的点.匹配显然的用网络流.最后check有没有不匹配的点即可. #include<bits ...

  4. P3871 [TJOI2010]中位数

    傻逼题 维护两个系统堆即可 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; ...

  5. vue复习(二)

    一.组件介绍 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的数据具有作用域,以达到组件的复用 二.局部组件 & ...

  6. pycharm如何快速替换代码中的字符

    使用快捷键: ctrl+r:快速定位到替换栏,选择要替换的关键字即可方面快捷,特别适用于重复造文字的代码编程上 废话不多少,上图说话硬气:

  7. Flutter - Error: 'xxx' is imported from both package...

    Compiler message: lib/main.dart:77:32: Error: 'Toast' is imported from both 'package:easy_alert/src/ ...

  8. python爬虫之解析库正则表达式

    上次说到了requests库的获取,然而这只是开始,你获取了网页的源代码,但是这并不是我们的目的,我们的目的是解析链接里面的信息,比如各种属性  @href  @class span  抑或是p节点里 ...

  9. 【RabbitMQ】三种Exchange模式——订阅、路由、通配符模式

    https://blog.csdn.net/ww130929/article/details/72842234

  10. django orm 操作表

    django orm 操作表 1.基本操作 增 models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs inser ...