3

ここには基本的なものが欠けているに違いありませんが、powershell は初めてです...

関数を作成し、「UserSelectionList.psm1」というファイルに保存しました。関数は次のようにスタブ化されています。

function Global:UserSelectionList([String[]] $UserOptions)
{
...
}

次に、このスクリプトでそれを呼び出そうとします:

Import-module "l:\support downstream\solarc\cngl\powershell scripts\userselectionlist.psm1"
$Options = "a","b","c"
cls
$result = UserSelectionList $Options
echo $result

結果のエラーは次のとおりです。

The term 'UserSelectionList' 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:5 char:28
+ $result = UserSelectionList <<<<  $Options
    + CategoryInfo          : ObjectNotFound: (UserSelectionList:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

1 つのモジュールに複数の関数を含めることを計画していますが、これが私の目標です。

前もって感謝します

4

3 に答える 3

2

[編集] -Force オプションを指定してモジュールのインポートを行っていませんでした。以下の回答は正しくありませんが、おそらく Get-Command によって更新が強制されたのでしょうか? いずれにせよ、私は経験の完全性のためにそれを残しています!

これを見つけた別のパスに私を押してくれたlatkinに感謝します:

モジュールからコマンドを取得する方法

モジュールをインポートするだけでなく、それを「取得」する必要があります (?)

Import-Module -Name <ModuleName> 
Get-Command -Module <ModuleName>

Get-Command を発行した後、すべてが機能し始めました。

迅速な対応をしてくれたlatkinに感謝します!

于 2012-11-27T19:46:33.107 に答える