PowerShell脚本模块不返回任何信息

问题描述:

我有以下模块:PowerShell脚本模块不返回任何信息

Function Get-ProcessHash { 
    param($ComputerName) 

    $username = $ComputerName + '\localadm' 
    $password = ConvertTo-SecureString 'supersecret' -AsPlainText -Force 
    $cred = New-Object -typename System.Management.Automation.PSCredential -ArgumentList $username, $password 

    Invoke-Command -ComputerName $ComputerName -Credential $cred -Authentication Negotiate -ScriptBlock { 
     Get-Process * | Select-Object Id, Name, ProductVersion, Company, Path, @{l="SHA256";e={if ($_.Path -ne $null) { (Get-FileHash $_.Path).Hash}}} 
    } 
} 

这个脚本模块位于C:\Users\<username>\Documents\WindowsPowerShell\Modules\SuperModule\SuperModule.psm1。我可以通过Get-Command -Module SuperModule看到它的功能。如果我在函数之外手动运行脚本的内容,它将工作并返回所有值,但是当我尝试运行该函数为PS C:\Users\<username>\Documents\Scripts> Get-ProcessHash US0001时,它不返回任何内容。

凭据是有效的,我可以在模块外执行脚本,它的工作原理。

+4

您在加载时是否对此模块进行了更改?如果关闭所有活动的PowerShell会话并重试,您的问题是否相同? – Matt

+1

好点@Matt,也可以试试'Import-Module -Force' – briantist

+0

我通常会在评论中试着遵循KISS。 – Matt

马特说,在评论中,解决方案很简单:

“,同时将其装填如果关闭所有活动PowerShell会话,然后再试一次是你的问题一样你一直在修改这个模块? “