如何安装 cmdlet Set-NfsClientConfiguration?

如何安装 cmdlet Set-NfsClientConfiguration?

如何确定哪个 Windows 功能/软件包提供了给定的 PowerShell cmdlet?类似于基于 RedHat 和 Debian 的系统上的 yum whatprovides 和 apt-file find。

我特别需要的 cmdlet 是 Set-NfsClientConfiguration:https://docs.microsoft.com/en-us/powershell/module/nfs/set-nfsclientconfiguration?view=win10-ps

我安装了 Enable-WindowsOptionalFeature 中所有三个包含字母 NFS 的软件包/功能,并重新启动了计算机,但无济于事。它们是 ClientForNFS-Infrastructure、NFS-Administration 和 ServicesForNFS-ClientOnly。

答案1

至于这个...

如何确定哪个 Windows 功能/包提供了给定的 PowerShell cmdlet?

...就这么做...

# List all available modules
Get-Module -ListAvailable

# Get exported commands in a module
Get-Command -Module '*nfs*'

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Disconnect-NfsSession                              1.0        NFS
Function        Get-NfsClientConfiguration                         1.0        NFS
Function        Get-NfsClientgroup                                 1.0        NFS
Function        Get-NfsClientLock                                  1.0        NFS
...

根据您的评论更新

如果给定一个模块,按照...

Get-Module -ListAvailable

.. 不在您的机器上,未通过上述命令返回,则与 t 相关的任何内容都将为空/不返回任何内容,因此运行 cmdlet ...

Get-Command -Module '*SomeModuleNameFromThePreviousCommand*'

... 确实没有意义。

所有模块都存储并搜索您的环境路径。

$env:PSModulePath -split ';'

# Results
<#
C:\Users\...\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
...
#>


$env:Path -split ';'

# Results
<#
...
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
...
C:\Program Files\PowerShell\7\
...
C:\Windows\System32\WindowsPowerShell\v1.0\
...
#>

如果您安装的模块不在那里,那么您需要通过 Import-Module cmdlet 明确告诉 PowerShell 它在哪里。

所有用户可用的默认安装模块在这里:

C:\Windows\System32\WindowsPowerShell\v1.0\Modules

...您应该在这里找到 NFS 模块。

C:\Windows\System32\WindowsPowerShell\v1.0\Modules\NFS

相关内容