可重用的远程管理会话:
TCP Joke:
ICM进行的会话在结束之后,会话在目标计算机上进行的会话就全部销毁了。
建立Session与查看Session
$Session = New-PSSession –computerName dc
Get-PSSession
icm –session $sessions {$var =2}
这个$Session可以被重用(Powershell V3)
测试脚本执行时间:
Measure-Command { scriptblock}
重用Session的脚本块执行时间更短
隐式的远程操作:
$s=New-PSSession –computer dc
invoke-command –Session $s {import-module activedirectory}
Import-PSSession –Session $s –Module ActiveDirectory –Prefix rem
这样你在本地可以通过加了rem前缀的命令来执行dc上的AD模块
(从DC提取命令)
使用参数提取所有命令,然后在本地计算机上执行。(动态生成的命令)
同时运行两组不同版本(凭据)产品的PS(exchange2007与exchange2010)
ISE:
启动速度明明超慢的……
语法高亮、代码补全
get-CimInstance Win32_Logical(ctrl+空格)
定义对象(前述过)
定义脚本的参数:
定义参数属性:
[CmdletBinding]使自定义脚本可以使用 参数属性
[Parameter(Mandatory=$true)]影响接下来的一个参数,使其变成必要参数
注释 - 帮助文档:
自动转换成帮助信息。
ISE提供的代码片段 Ctrl+J
定义命令 使用function括上刚刚的脚本,使其成为一个命令
function get-diskinfo{ #@[email protected]!^%^%# }
. .\diskinfo.ps1 在脚本前加上一个点 意味着将脚本的内容(结果)保留在目前的内存中,而非在脚本运行完之后就销毁他
存为module…… 扩展名改成psm1
动态加载模块:
学习资源:
PStips.org
powershell.org
PowerShell 学习笔记5,布布扣,bubuko.com