iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

Powershell 入门系列 第 20

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

  • 分享至 

  • xImage
  •  

前面,我们的所有示例都是在 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
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言