私はVB.netアプリケーションを持っています。これは私のVB.NETウィンドウアプリケーション内からPowerShell上でImport-Module
を起動しますが、モジュールが見つからないというエラーが表示されます。エラーは次のとおりです。WinFormsアプリケーション内からImport-Moduleが動作しない
インポートモジュール:モジュールディレクトリに有効なモジュールファイルが見つからなかったため、指定されたモジュール 'MSOnline'がロードされませんでした。私はそれが正常に動作し、通常の方法で外部からPowerShellを起動して、同じモジュールをロード
。画像は以下の通りです。
VBスクリプトが
私のPowerShellスクリプトはtxtファイルとしてmy.resourceに保存され
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "powershell.exe"
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
Dim psscript As String = My.Resources.mymsolPS
procStartInfo.Arguments = psscript
procExecuting = Process.Start(procStartInfo)
End With
End Subの次のようです。私のPowerShellスクリプトは以下の通りです。
Import-Module Msonline
Connect-msolService
私はGet-Help
にPowerShellスクリプトを置き換え、それは私がImport-Module
Msonlineを使用する場合にのみ、それは仕事をdosnt動作します。
さらに共有できる情報は、モジュールが以下の場所に保存されていることです。
C:\ WINDOWS \ System32に\ WindowsPowerShell \ v1.0を\モジュール\ MSOnline \ MSOnline.psd1
任意のヘルプは大歓迎です。アドバンス
で おかげアップデート2: はもっとそれをいじるには、私は関連性がある場合はわからないいくつかのことを発見しました。
VB.netからpowershellを起動し、以下のコマンドを実行すると、MSOnlineモジュールが表示されません。
PS C:\windows\system32>> cd $env:WINDIR\System32\WindowsPowerShell\v1.0\Modules\
PS C:\windows\System32\WindowsPowerShell\v1.0\Modules>> dir
私は私のシステムから直接PowerShellを実行して、上記のスクリプトを実行した場合、私はまだ、モジュール
d----- 11/22/2017 2:59 PM MSOnline
私は割れカント私のために謎を見ることができます。 :(ので、多分方法は、PSはそれがモジュールを見つけることができませんロードされます。..あなたのアプリから起動したとき、私は気づく
上記のコマンドは、通常のPowerShellスクリプトを使用すると魅力的です。例えばスクリプトファイルをget-helpで置き換えると、import-Moduleを使用するとモジュールが見つかりません。私が孤立したのは、「CD C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ MSOnline \」と入力した場合です。 –