很早之前看过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. VBA 语言基础

    VBA 语言基础 第一节 标识符 一.定义 标识符是一种标识变量.常量.过程.函数.类等语言构成单位的符号,利用它可以完成对变量.常量.过程.函数.类等的引用. 二.命名规则 1) 字母打头,由字母. ...

  2. CF 1138 E. Museums Tour

    E. Museums Tour 链接 分析: 按时间建出分层图,每个点形如(u,t),表示u在在t个时刻的点,tarjan缩点.每个强连通分量中的点都能经过,然后DAG上dp. 代码: #includ ...

  3. Kubernetes学习之路(十七)之statefulset控制器

    目录 一.statefulset简介 二.为什么要有headless?? 三.为什么要 有volumeClainTemplate?? 四.statefulSet使用演示 (1)查看statefulse ...

  4. Kafka系列四 flume-kafka-storm整合

    flume-kafka-storm flume读取日志数据,然后发送至kafka. 1.flume配置文件 agent.sources = kafkaSource agent.channels = k ...

  5. 编译、安装rdesktop 1.8.3

    来自:https://blog.csdn.net/songshimvp1/article/details/48290885 1.安装GCC: 安装C/C++编译器apt-get install gcc ...

  6. 换新 IP 地址的时候,ORCL前置准备条件

    1. 开启虚拟机 ORCL 服务 2.   cmd > ipconfig > 3.   cmd > lsnrctl status > 4.  主机改配置文件 IP,succes ...

  7. bootstrap学习笔记(5)

    Bootstrap输入框组 主要记住一个原则 创建输入框的步骤 把前缀或后缀元素放在一个带有 class .input-group 的 <div> 中. 接着,在相同的 <div&g ...

  8. mysql 中sql语句关键字的书写顺序与执行顺序

    书写顺序: select -> from -> where -> group by -> having -> order by 执行顺序: from -> wher ...

  9. 第一个Django demo

    平台:Pycharm Django 使用 Pycharm 进行开发,需要提前在 Pycharm 中(File > Settings > Project: Python > Proje ...

  10. python simple factory mode example

    Two python simple factory mode examples shown in this section. One is for base operation and another ...