PowerShell 创建迷你模块

每一个PowerShell的函数都可以通过一行代码转换成一个脚本模块。我们可以打开ISE编辑器创建一个函数来测试这个功能。

1
2
3
4
function Get-BIOS
{   param ( $ComputerName $Credential )
    Get-WmiObject -Class Win32_BIOS  @PSBoundParameters
}

名称为Get-BIOS 的函数会获取一个计算机的BIOS信息。该函数支持两个参数,一个是计算机名称(ComputerName),一个是用户凭据(Credential)。第二个参数主要是为了支持访问远程机器。接下来,我们将这个函数转化成一个模块。

PS> $name = 'Get-BIOS'
PS> New-Item -Path $home\Documents\WindowsPowerShell\Modules\$name\$name.psm1 -ItemType File -Force -Value "function $name { $((Get-Item function:\$name).Definition) }" 

上面的命令执行的关键点在于$name 中包含了我们的函数名,而这个函数名本身定义的内容已经包含在内存中了,所以会自动填充。结果则是在$home\Documents\WindowsPowerShell\Modules中创建一个PSM1的文件,这样就可以通过Get-Module来获取它,并且在PowerShell 3.0中还会自动加载这些模块,并且会自动探测这些模块中定义的函数,重新打开一个控制台来测试:

PS C:\Users\Mosser> Get-Module  -Name Get-BIOS

ModuleType Name                                ExportedCommands
---------- ----                                ----------------
Script     Get-BIOS                            Get-BIOS

PS C:\Users\Mosser> Get-BIOS


SMBIOSBIOSVersion : J01 v02.15
Manufacturer      : Hewlett-Packard
Name              : Default System BIOS
SerialNumber      : CNG2078HK8
Version           : HPQOEM - 1072009
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值