您的位置:首页 > 运维架构 > Shell

PowerShell 学习笔记-- 2 -- 杂项设置

2011-07-22 22:50 323 查看
1. PowerShell 脚本的执行策略。 执行策略决定了PS脚本是否可以运行,是否要求数字签名,是否允许装载配置文件等。 缺省是 restricted,最严格,但是等于命令行交互,不允许脚本执行了,几乎没什么意义。

查询相关信息 get-help about_signing, get_about_execution_policy
查看当前设置 get-ExecutionPolicy
修改当前设置 set_executionPolicy RemoteSigned 或者 unsigned

2. Windows PS的 profile ---- PS profile 和 *nix 中的 shell profile 很类似,可以将自定义的别名,函数,变量等存入一个PS profile,这样每次PS启动,就会载入PS profile,这样就能直接使用预定义的别名,函数和变量了。 当然ExecutionPolicy要允许载入配置文件

共有四种PS profile
a. %windir%\system32\WindowsPowerShell\v1.0\profile.ps1 ---- 这个是所有用户,所有shell的profile
b. %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1 ---- 这个是所有用户,但是只有 Microsoft.Powershell 的Profile
c. %UserProfile%\My Documents\WindowsPowerShell\profile.ps1 ----- 这个是当前用户,所有shell的profile
d. %UserProfile%\\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 ---- 这个是当前用户 Microsoft.Powershell 的Profile

可以看出 Profile本身就是一个 PS脚本文件。检查是否创建了用户profile: test-path $profile
创建用户自己的profile: new-item -path $profile -itemtype file -force ---- notepad $profile 就可以编辑了
创建其它profile : new-item -path C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force

3. 别名
别名是为了方便输入和方便那些习惯了使用其它shell 的用户,例如 *nix用户可以自定义别名将Windows 命令或者PS 脚本都换成 *nix 下的常用命令名。PS内置了很多别名,用户可以自定义。

get-alias ---- 查看当前会话中可用别名
get-alias | where-object {$_.definition -eq "<cmdlet-name>"} ----- 查看某个cmdlet 的别名
set-alias gh get-help , set-alias np c:\windows\notepad.exe ----- 创建别名
remove-item alias:ls ----- 删除别名

可以给cmdlet,可执行文件,函数起别名,但是带参数的可执行文件就不行了,可以用函数做到类似的功能。
function bootini {notepad c:\boot.ini}

4. 执行可执行文件。 PS 也是使用 PATH 来查找可执行文件
$env:path ---- 查看当前PATH设置
$env:path += ";C:\Program Files\Windows NT\Accessories“ ----- 想当前PATH中加入新路径

5. cmdlet的通用参数 get-help about_commonparameters
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: