自定义功能无法识别

肖恩·卢汀(Shaun Luttin)

在当前会话期间,我添加到PowerShell配置文件的功能不可用。该函数如下所示:

# \MyModules\Foobar.ps1

function Foo-Bar {
    Write-Host "Foobar";
}

# Test loading of this file
Foo-Bar;

我的个人资料如下所示:

# \Microsoft.PowerShell_profile.ps1

Write-Host "Loading MyModules..."
Push-Location ~\Documents\WindowsPowerShell\MyModules

.\Foobar.ps1

Pop-Location
Write-Host "Done"

当我运行时. $profile,输出如下所示,这确认了该Foo-Bar功能正常工作。

> . $profile 

Loading MyModules...
Foobar
Done

Foo-Bar但是,此后运行该函数会爆炸如下:

Foo-Bar : The term 'Foo-Bar' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name,
or if a path was included, verify that the path is correct and try again.

At line:1 char:1
+ Foo-Bar
+ ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Foo-Bar:String) [],        
                              CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

为什么不可用?

大通弗洛雷尔

好吧,有几种方法可以解决它。请注意,这两种方法都不要求您在导入模块之前先对其进行点调用。

1)使用适当的模块 MyMethod.psm1

# MyMethod.psm1 (m for module)
function MyMethod {
    # my method
}
Export-ModuleMember MyMethod

# then in your profile
Import-Module "MyMethod"

2)如果您有方法的集合,需要将它们分成多个文件

# MyMethod1.ps1
function Invoke-MyMethod1{
    # my method1
}
Set-Alias imm Invoke-MyMethod1
# MyMethod2.ps1
function Something-MyMethod2 {
    # my method2
}
Set-Alias smm Something-MyMethod2
# MyMethod.psm1 (m for module)
Push-Location $psScriptRoot
. .\MyMethod1.ps1
. .\MyMethod2.ps1
Pop-Location

Export-ModuleMember `
    -Alias @(
        '*') `
    -Function @(
          'Invoke-MyMethod1',
          'Something-MyMethod2')
# then in your profile
Import-Module "MyMethod"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CakePHP控制器自定义功能无法识别

来自分类Dev

无法识别JQuery自定义插件功能

来自分类Dev

自定义类上的Flash功能无法识别

来自分类Dev

Rails自定义验证无法识别

来自分类Dev

Rails的自定义验证无法识别

来自分类Dev

无法识别自定义指令

来自分类Dev

Ajax成功功能无法在自定义功能内访问

来自分类Dev

Ajax成功功能无法在自定义功能内访问

来自分类Dev

自定义CEditor Eclipse CDT无法识别

来自分类Dev

Django自定义命令错误:无法识别的参数

来自分类Dev

组织HTML导出无法识别自定义乳胶宏

来自分类Dev

Android Studio无法识别自定义视图类

来自分类Dev

WPF无法识别自定义类库

来自分类Dev

在自定义单元格中无法识别属性

来自分类Dev

Android Studio无法识别自定义视图类

来自分类Dev

无法识别流星自定义HTML标签

来自分类Dev

自定义ConfigurationSection中无法识别的元素异常

来自分类Dev

自定义CEditor Eclipse CDT无法识别

来自分类Dev

在自定义单元格中无法识别属性

来自分类Dev

在自定义页面模板中无法识别“记录”对象

来自分类Dev

Wear OS 无法识别自定义颜色

来自分类Dev

自定义功能

来自分类Dev

WebApi自定义System.Web.Http.AuthorizeAttribute无法识别自定义ClaimsPrincipal

来自分类Dev

Wordpress 无法识别的自定义帖子类型的自定义模板

来自分类Dev

jQuery自定义日期功能无法正常工作?

来自分类Dev

无法与自定义功能Google App脚本比较时间

来自分类Dev

Excel自定义日历功能无法正常工作

来自分类Dev

自定义拖放功能无法完美运行

来自分类Dev

无法识别模型定义的功能