powershell - Get-Modules 中缺少 NetTCPIP 一分钟
问题描述
为什么不Get-Module
显示所有已安装的模块?
有些 PC 没有安装 NetTCPIP 模块。我的有,但是当我打开一个新的 PowerShell ISE 窗口时
Get-Module | Where-Object Name -eq 'NetTCPIP' | Format-Table
返回空白。
一分钟后它返回:
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0.0.0 NetTCPIP {Find-NetRoute, ...}
奇怪的是:
Get-Command -Name Test-NetConnection
始终显示该命令存在于 Source: NetTCPIP。
现在更奇怪的是,在运行相同版本 PowerShell 的服务器操作系统上,从不显示 NetTCPIP 模块,但确实有 command Test-NetConnection
。
为什么不Get-Module
显示所有已安装的模块?
解决方案
Get-Module
默认情况下仅列出当前导入的模块。如果要查看所有模块,可以使用Get-Module -ListAvailable
.
从 PowerShell 3.0 开始,模块会在您首次使用该模块的 cmdlet 时动态导入。因此,如果您测试 cmdlet 以查看它是否存在(或者您使用Get-Command Test-NetConnection
),PowerShell 会静默导入该模块,并在您下次使用Get-Module
.
推荐阅读
- javascript - Angular 7 为什么将正文转换为 JSON 字符串和对象
- javascript - 子菜单不与侧父元素重叠
- c# - 搜索 IP 范围 - 算法/数据结构?
- python-3.x - 有没有办法让这个列表排序器更短?
- vue.js - 如何在进行 vue-cli 单元测试时设置超时
- karate - karate - 我们可以从空手道的 excel 文件中获取数据吗?如果是,那么我们可以在场景大纲的示例中设置获取数据吗?
- java - 使用 RequestMethod.GET 刷新页面时,数据会重复从数据库到 JSP
- c++ - qtmqtt 无法连接到服务器
- square-connect - 是否可以为 Square Connect 应用程序设置自定义图标?
- mysql - MySQL获得计数百分比