很早之前看过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. 使用bootstrap-select控件 搜索栏键入关键字动态获取后台数据

    bootstrap-select开源地址:https://github.com/silviomoreto/bootstrap-select bootstrap-select使用示例:http://si ...

  2. 洛咕 P2465 [SDOI2008]山贼集团

    裸的状压dp. 设f[i][j]表示在i字数内放j集合的分部,直接sb转移. // luogu-judger-enable-o2 #include<bits/stdc++.h> #defi ...

  3. cogs1538 [AHOI2005]LANE 航线规划

    套路题+裸题 首先肯定离线,倒过来处理,删边->加边 连边的时候,如果不连通就连,否则在这两个点的链上打个覆盖标记,查询的时候输出没被覆盖的路径条数 #include<cstdio> ...

  4. spring 各个版本的源码、jar包和源码jar包下载地址

    spring各个版本的源码jar包.文档jar包和spring的jar包 http://maven.springframework.org/release/org/springframework/sp ...

  5. git push失败

    不知道弄错了什么上传项目到github上失败 git commit的时候提示 On branch masternothing to commit, working tree clean git pus ...

  6. OTRS

    更新OTRS root@localhost密码: sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::User::SetPassword root@lo ...

  7. CentOS删除安装的程序

    以mysql举例: 首先查询安装包: rpm -qa|grep mysql 查询到的一个结果为:mysql-community-libs-5.7.13-1.el6.x86_64 yum 删除 yum ...

  8. 基于Java Junit测试框架 + jmeter 做压力测试

    1.JUnit 用户指南请查阅: https://junit.org/junit5/docs/current/user-guide/ 以一下代码为例:add接口 代码测试正常后,导出包: 下一步: j ...

  9. Mysql数据库的四大特性

    Mysql数据库事务的四大特性(ACID) 事务:把一组密不可分的操作系列集合在一起,这些操作要么全部执行,要么全部不执行. 1.原子性:事务是内定义的操作是一个整体,是不可分割的. 2.一致性:事务 ...

  10. UVALive 6467 Strahler Order(拓扑序列)

    In geology, a river system can be represented as a directed graph. Each river segment is an edge; wi ...