iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

Powershell 入门系列 第 20

Powershell 入门之在 powershell 会话中运行我们自己的 foundation

前面,我们的所有示例都是在 powershell ise 下面运行的,我也相信肯定有人尝试过,直接在 powershell 中运行,不过我们写的都是 foundation,所以直接在 powershell 中运行是失败的。今天,我们就来看看怎么让我们写的 foundation 能够在 powershell 中也能运行。

在前面,我们已经了解了 powershell 的模块,今天我们就需要将我们的 foundation 作为一个模块,加载到 powershell 中,这样我们就可以直接在 powershell 中直接运行我们的脚本命令了。

保存我们的 foundation 文件到 Module 目录,选择所有用户可用,还是当前用户可用,可以自己选(可以通过 $env:PSModulePath 查看有哪些目录。):
https://ithelp.ithome.com.tw/upload/images/20211002/20099494hQNMZ2JH55.png

重新打开 powershell,我们就可以像运行系统自带的命令那样,运行我们自己创建的 foundation(命令)。

PS C:\Users\Admin> test-net_port -computerName szsvr01                                            
True  

注意:powershell 的执行策略,会影响到模块的自动加载。如果运行命令出现导入模块相关的错误,需要参考前面一篇文章,更改执行策略。

我们可以看一下,加载的模块:

PS C:\Users\Admin> Get-Module                                                                                                                                                                 
ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   3.1.0.0    Microsoft.PowerShell.Management     {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Manifest   1.0.0.0    NetTCPIP                            {Find-NetRoute, Get-NetCompartment, Get-NetIPAddress, Get-NetIPConfiguration...}
Script     0.0        PSLAB                               test-net_port
Script     2.0.0      PSReadline                          {Get-PSReadLineKeyHandler, Get-PSReadLineOption, Remove-PSReadLineKeyHandler, Set-PSReadLineKeyHandler...}

上一篇
Powershell 入门之 policy
下一篇
后续说明
系列文
Powershell 入门21

尚未有邦友留言

立即登入留言