2017-03-06 13 views
-1

私はカスタム関数リストと関数で使用される別の設定ファイルを持っていますが、私の目標はリモートサーバ上でそれらの関数を実行することです。そのため、私はローカルセッションで読み込まれた関数を呼び出すために、以下のメソッドを使用することができません。Powershell:リモートサーバー上でカスタム関数を実行する

invoke-command -scriptblock ${function:foo} 

モジュールを作成し、そのモジュールをユーザーのログオンではなくシステムのブート時に自動的にインポートすることは可能ですか? 主な目標を達成する方法に関する提案はありますか?

+0

https://msdn.microsoft.com/en-us/library/dd878340(v=vs.85).aspx – 4c74356b41

+0

。私はPSSessionを使用していないため、システム起動時にモジュールが自動的にインポートされるようにするにはどうすればいいですか? – Vagho

答えて

1

PowerShell Moduleをシステムにインストールする場合は、適切なディレクトリにコピーしてください。

プログラムファイル内のすべてのユーザーのモジュールのインストール コンピュータ上のすべてのユーザーアカウントでモジュールを使用できるようにするには、プログラムファイルの場所にモジュールをインストールします。

$EnvProgramFiles\WindowsPowerShell\Modules\<Module Folder>\<Module Files> 

参考:https://msdn.microsoft.com/en-us/library/dd878350(v=vs.85).aspx

は可能な限り、PSModulePath環境変数にリストされているパス内のすべてのモジュールをインストールPSModulePathにモジュールをインストールするか、PSModulePath環境変数の値にモジュールパスを追加します。
PSModulePath環境変数($Env:PSModulePath)には、Windows PowerShellモジュールの場所が含まれています。コマンドレットは、この環境変数の値に依存してモジュールを検索します。
既定では、PSModulePath環境変数の値には、次のシステムとユーザーモジュールのディレクトリが含まれますが、値を追加および編集できます。私はモジュールを使用してについて考えている

$PSHome\Modules (%Windir%\System32\WindowsPowerShell\v1.0\Modules) 
# This location is reserved for modules that ship with Windows. Do not install modules to this location. 
$Home\Documents\WindowsPowerShell\Modules (%UserProfile%\Documents\WindowsPowerShell\Modules) 
$Env:ProgramFiles\WindowsPowerShell\Modules (%ProgramFiles%\WindowsPowerShell\Modules) 
+0

モジュール内にある関数を呼び出すとpowershellがそのモジュールを自動的にインポートしますか? – Vagho

+1

更新された回答、はい、そうなるでしょう。 @Vagho – 4c74356b41

関連する問題