如何自定义Windows PowerShell环境
1个回答
展开全部
Windows PowerShell最强的一个特质在于其扩展性。这个脚本引擎能以许多方式进行自定义,并扩展到使用默认下不可用的功能。一旦你明白基本术语和cmdlet,接下来就个性化PowerShell。
掌控PowerShell环境
使用脚本环境并不是万能之策。但是用户可以开始使用下面信息控制Windows PowerShell行为。
Profile
Profile是在PowerShell启动时运行的脚本。(我喜欢将它看成PowerShell的autoexec.bat,这可能很守旧,但仍然适用。)
有两种类型的profile,能存储于两个地点:
System profiles——适用于所有PowerShell会话
Host-specific profiles——只适用于某个主机(i.e. PS+)
Global
位于系统System32的$PShome里,(C:\windows\system32\windowspowershell\v1.0),这个profile适用于在主机上发起的所有PowerShell会话。
User
具体用户文档在最后载入的profile。位于$Env:UserProfileDocuments\WindowsPowerShell\profile.ps1。
PowerShell也允许你使用主机本身的文档创建自定义主机,不过这已经超出本文的讨论范围,深入到开发领域了。
扩展PowerShell的功能
尽管多数脚本环境包含扩展过程,但是这些方法通常很复杂,适合更有经验的用户。不过Windows PowerShell提供了几种级别的扩展性,新手可以很快学会。
Function
Function是最容易添加的,只需要在功能框里包含一个命令,如function {command},让用户创建他们自己的cmdlet,通过profile载入并能按需访问。
Snap-in
Snap-ins是在版本1.0中添加二进制cmdlet到PowerShell会话的主要方法。通过如思杰、VMware或Exchange这样的应用供应商交付的编译代码,snap-ins由两个cmdlet控制:Get-PSSnapin和Add-PSSnapin。
Module
出现在Powershell 2.0版本里,module提供了function(管理中心)和snap-in(开发中心)之间的桥梁。Module能按需载入,并能包含二进制cmdlet、function和script,通过下面信息进行管理:
Get-Module
——获取目前载入的module
Import-Module
——导入module
Remove-Module
——从目前会话移出module
New-Module
——创建只存在于内存里的module
总的说来,对于每一个新手到经验丰富的开发者,Windows PowerShell还有大量可以增长的空间。查看下面cmdlet获取更多信息:
Get-Help about_profiles
Get-Help about_functions
Get-Help about_PSSnapin
Get-Help about_modules
例子:设定PowerShell的默认目录路径
C:\windows\system32\windowspowershell\v1.0新建一个profile.ps1的文件,内容为cd \
再打开PowerShell左边的提示路径就变为C:了
掌控PowerShell环境
使用脚本环境并不是万能之策。但是用户可以开始使用下面信息控制Windows PowerShell行为。
Profile
Profile是在PowerShell启动时运行的脚本。(我喜欢将它看成PowerShell的autoexec.bat,这可能很守旧,但仍然适用。)
有两种类型的profile,能存储于两个地点:
System profiles——适用于所有PowerShell会话
Host-specific profiles——只适用于某个主机(i.e. PS+)
Global
位于系统System32的$PShome里,(C:\windows\system32\windowspowershell\v1.0),这个profile适用于在主机上发起的所有PowerShell会话。
User
具体用户文档在最后载入的profile。位于$Env:UserProfileDocuments\WindowsPowerShell\profile.ps1。
PowerShell也允许你使用主机本身的文档创建自定义主机,不过这已经超出本文的讨论范围,深入到开发领域了。
扩展PowerShell的功能
尽管多数脚本环境包含扩展过程,但是这些方法通常很复杂,适合更有经验的用户。不过Windows PowerShell提供了几种级别的扩展性,新手可以很快学会。
Function
Function是最容易添加的,只需要在功能框里包含一个命令,如function {command},让用户创建他们自己的cmdlet,通过profile载入并能按需访问。
Snap-in
Snap-ins是在版本1.0中添加二进制cmdlet到PowerShell会话的主要方法。通过如思杰、VMware或Exchange这样的应用供应商交付的编译代码,snap-ins由两个cmdlet控制:Get-PSSnapin和Add-PSSnapin。
Module
出现在Powershell 2.0版本里,module提供了function(管理中心)和snap-in(开发中心)之间的桥梁。Module能按需载入,并能包含二进制cmdlet、function和script,通过下面信息进行管理:
Get-Module
——获取目前载入的module
Import-Module
——导入module
Remove-Module
——从目前会话移出module
New-Module
——创建只存在于内存里的module
总的说来,对于每一个新手到经验丰富的开发者,Windows PowerShell还有大量可以增长的空间。查看下面cmdlet获取更多信息:
Get-Help about_profiles
Get-Help about_functions
Get-Help about_PSSnapin
Get-Help about_modules
例子:设定PowerShell的默认目录路径
C:\windows\system32\windowspowershell\v1.0新建一个profile.ps1的文件,内容为cd \
再打开PowerShell左边的提示路径就变为C:了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询