2017-05-11 3 views
0

PowerShellのバージョン3 実行します:!PowerShellスクリプトは、私は、ファイルONE.ps1で関数を記述一度

Function ONE { 
Write-Output "test1"; 
} 

その後、私は、ファイルを作成RUN.ps1コンテンツと同じディレクトリに:

import-module D:\ps\ONE.ps1 
ONE 

後PSコンソールを実行すると、このコードを1回実行することができます。

.\!RUN.ps1

出力:test1

しかし、私はそれをもう一度やるしようとすると、私はエラーを得た:

ONE : The term 'ONE' is not recognized as the name of a cmdlet, function, script file, or operable program.

コンソールを再起動した後、私は、再び、1回の実行が成功して、エラーを持っています。

あなたは何がうまくいかないとお考えできますか?

その他の詳細:このスクリプトを作成した直後、数回実行することができましたが、数日後には再起動後にこのエラーが表示されることがあります。だから、最初に書くときに作成されたいくつかのimport-directivesが欠けているかもしれませんが、最終的なスクリプトに追加するのを忘れてしまいました。マーティン・ブランドルから

回答は問題を解決:

import-module D:\ps\ONE.ps1 -force

しかし、誰かが別の方法を知っていれば - それらをチェックアウトするために興味深いものになるだろう。モジュールはすでに登録されている必要があるためです。そしてGet-Moduleコマンドはこのモジュールを見ることができますが、何らかの理由で私は使用できません。

+0

あなたは '-force'パラメータを' Import-Module'コマンドレットで使うことができます。 –

+0

ありがとう、これは役立ちます。 – Niobis27

+0

ようこそ。私は答えとして私のコメントを追加しました。 –

答えて

0

Import-Module-forceパラメータを使用してください。

関連する問題