• Powershell笔记之MVA课程


    很早之前看过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就是rootcimv2了

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

  • 相关阅读:
    如何修改mysql root密码
    【STL】list基础(转)
    时间控制timer settimeout setinterval
    刷新ArrayCollection的显示控件
    需要科普的网站
    flex 拖拽数据
    常用的资源网站
    as3 性能优化
    对象池
    Bitmap与Bitmapdata
  • 原文地址:https://www.cnblogs.com/IvanChen/p/6477553.html
Copyright © 2020-2023  润新知