PowerShellモジュールのインストールパス

PowerShellモジュールに関しては適当にinstall-moduleとやっておけば動くのでこれまであまり深く考えたことはなかったのですが、今日、DSC関連で結構苦労してしまったので書き残しておきます。 まず、Install-Moduleでモジュールをインストール。 https://docs.microsoft.com/ja-jp/powershell/module/powershellget/install-module?view=powershell-7.2 この時に、モジュールが入る場所が複数あります。 現在のユーザー用:$HOME\Documents\PowerShell\Modules- すべてのユーザー用:$env:ProgramFiles\PowerShell\Modules 1と2の切り替えはInstall-Moduleの-Scopeパラメーター。何もスコープを指定しない、あるいは-Scope CurrentUserとすれば「1.現在のユーザー用」に入ります。-Scope AllUsersとすれば「2.すべてのユーザー用」に入ります。 で、これでおしまいではなくて… PowerShell自体にWindows PowerShellとPowerShell(Core)がある。- コマンドによっては別ユーザーのコンテキストで実行されるものがある。- 複数バージョンを混在させることも可能 という要素もあり、複雑です。 モジュールを読み込む場所自体は「$Env:PSModulePath」で参照可能です。 私が今日ハマったのはStart-DscConfiguration実行時にモジュールが見つからないといわれてしまうという事象でした。どうやらWindowsPowerShellのモジュールディレクトリ(C:\Program Files\WindowsPowerShell\Modules)からしかモジュールを探してくれていなかったので、手動でモジュールをコピーして回避してしまいました。 これまで「動いているからいいや」ということであまりよく仕組みを調べずにやり過ごしてきてしまいましたが、それではうまくいかないケースに遭遇したのでこれを機にきちんとどこに存在するモジュールが使用されているのかなども意識していこうと思います。

February 19, 2022 · 1 min · 胡田昌彦

Linux Application Monitoring and Management with Microsoft System Center | Microsoft Ignite 2015 | Channel 9

Linux Application Monitoring and Management with Microsoft System Center | Microsoft Ignite 2015 | Channel 9 System Center 2016でのLinux管理に関してのIgniteでのセッションです。動画がじっくり見られます。 MicrosoftがWindowsにとどまらずLinuxに対しても管理の幅を広げようとしている取り組みがよくわかるセッションになっています。SCOMでの監視、SCCMでの管理…と派手さは無いものの、着実な進化ですね。きちんとOMIプロバイダーを作成して…とプラットフォームをきちんとつくって進めているあたりはMicrosoftらしいところだなぁと思います。 System Center製品ではないもののDSCの話が出てくるのも昨今の流れ的に象徴的だなと思います。 WindowsもLinuxも両方まとめて同じ技術で管理できる世界に随分なってきました。

July 7, 2015 · 1 min · 胡田昌彦