私は同じ問題を抱えていて、モジュールは正しい場所にあり、すべてが予期された規則に従って命名されました。少しの不満の後、私は問題を理解しました。モジュールをインポートする前に、モジュールをインポートしようとしていたウィンドウが起動しました。私がPowershellの新しいインスタンスを起動したとき、それはロードされました。だからうまくいけば、これは同じ問題を抱えている誰かを助け、理由を理解することができません。
また、モジュールパスにPowerShellのモジュールの場所を追加することができます。
$env:PSModulePath=$env:PSModulePath + ";" + "F:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules"
それとも、既存のスクリプトにロジックを追加することができます。
$module_path = $env:PSModulePath
if (-not($module_path -match "F:\\Program Files (x86)\\Microsoft SQL Server\\110\\Tools\\PowerShell\\Modules")) {
if (Test-Path("F:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules")) {
$env:PSModulePath=$env:PSModulePath + ";" + "F:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules"
}
else {
write-host "sqlps not in default location - this can cause errors" -foregroundcolor yellow
}
}
import-module "sqlps" -DisableNameChecking
モジュールがある必要はありません。 '$ env:PSModulePath'(パーソナルとシステムの場所を含む)のディレクトリの一つにありますが、そうでなければフルパスでロードする必要があります。 –