ドキュメント フォルダを OneDrive にバックアップしていると PowerShell Core 6 の Get-InstalledModule が機能しない件

皆さん、PC のバックアップはしてますか?
何が起こるかわからないので、定期的なバックアップは大切です。

Microsoft としては、OneDrive を使ったバックアップを推しているように思われます。
新しく PC を買ってきて立ち上げると、Windows 10 の初期セットアップ中に、OneDrive バックアップを構成することを勧められますし。

今回は、そんな OneDrive バックアップと、PowerShell の相性のお話。

続きを読む

PowerShell のスコープ完全に理解した

はじめに

本記事は PowerShell Advent Calendar 2018 の 18 日目としてエントリーしていた記事です。
qiita.com

が、18 日中に公開できなかったばかりか、Advent Calendar 期間中にも間に合いませんでした。申し訳ない。

続きを読む

ps1xml のスキーマを書いた話

はじめに

本記事は PowerShell Advent Calendar 2018 の 4 日目です。
PowerShell Advent Calendar 2018 は寄稿して頂ける方を絶賛募集中です。よろしくお願いいたします。
qiita.com

TL; DR

  • ps1xml を書こうぜ。
  • RELAX NG はいいぞ。

ps1xml とは

ps1xml とは、PowerShell と共に利用する、特殊な XML ファイルです。
あからじめ PowerShell に同梱されているものもありますし、ユーザーが作成したモジュールを配布する際に同梱することもできます。

PowerShell に同梱されているものは、Windows PowerShell のインストール ディレクト*1にあります。
ただし、このファイルは過去との互換性のためにあるもので、Windows PowerShell 5.1 では読み込まれないのだそうです。PowerShell Core でも同様です。
ユーザーが自作したものは読み込まれますので、サンプルとしては有用です。

blog.shibata.tech
blog.shibata.tech

ps1xml には、types.ps1xml と format.ps1xml という2つのタイプがあります。

モジュール作りの一環としてこれらを書くにあたって、エラー チェックや入力補完をしてくれる XML スキーマが無いと厳しいので書いたよ、というのが、本記事の趣旨です。
書いたスキーマはここに置いてあります。

github.com

*1:通常は C:\Windows\System32\WindowsPowerShell\v1.0

続きを読む