2025年5月10日土曜日

Windows Server 2025に含まれるwingetを使ってPowerShell 7をインストール

Windows Server 2025にPowerShell 7をインストールしたくて、調べました。結果、

WinGet (推奨) を使用して PowerShell をインストールする

を確認しました。MSIなどでインストールするのかと思いましたが、Windows Server 2025からwingetを使う方法がありました。wingetは、Windows 11や最新バージョンのWindows 10で使えるそうですね。

WinGet (推奨) を使用して PowerShell をインストールする

に沿って「winget search Microsoft.PowerShell」を使いPowerShellのパッケージを検索してみます。

WinGet (推奨) を使用して PowerShell をインストールするに記載通り、通常版とプレビュー版の両方が表示されましたね。

続いて「winget install --id Microsoft.PowerShell --source winget」を使いPowerShell 7.5.1をインストールします。

ちなみに、「winget help」を実行すれば、--proxyオプションを使えることがわかりますね。



2025年5月6日火曜日

Public Preview of AI Shellのパブリックプレビュー その3

Public Preview of AI Shellのパブリックプレビュー その2 からの続き。

前回は、AI ShellのバックエンドとしてCopilot in Azureを指定しました。

では、同じプロンプトを与えるCopilot in Azureと、AI ShellのバックエンドとしてCopilot in Azureを指定した場合は、同じなのか違うのかを見ていきます。

結論としては、回答が違いました。同じなのが良いのかという点に関しては言及を避けますが、こういう結果になることがあると思っておくのが現状良いかもしれませんね。

「Azure リソースの正常性を確認する方法を教えてください。」というプロンプトを与えた場合

Copilot in Azure
AI ShellのバックエンドとしてCopilot in Azureを指定
興味深いのは、日本語のプロンプトを解釈し結果は英語を返してくれました。

「How do I convert ARM template to Bicep?」というプロンプトを与えた場合

Copilot in Azure

こちらはなぜかうまく出なかったです。

AI ShellのバックエンドとしてCopilot in Azureを指定

こちらは具体的な方法を言及しようとしていると思えました。ということで、もう少し具体的なプロンプトが提示されたのでそれも試してみることにしました。

「How do I use Bicep CLI to convert ARM templates?」というプロンプトを与えた場合

Copilot in Azure

Bicep CLIをインストールしてから、ARM templatesをBicepにデコンパイルする方法を紹介されました。

AI ShellのバックエンドとしてCopilot in Azureを指定

こちらも、Bicep CLIをインストールしてから、ARM templatesをBicepにデコンパイルする方法を紹介されました。

追伸
日本語環境でも、Copilot in Azureが使えるようになりましたね。



2025年5月2日金曜日

Public Preview of AI Shellのパブリックプレビュー その2

Public Preview of AI Shellのパブリックプレビュー からの続き。

※ちなみに、Azure PowerShellからAzureに接続するパターンも試しましたがNGでした。

Public Preview of AI Shellのパブリックプレビュー に掲載している画像にあるのですが、Azure CLIで接続しないとだめのようですね。

この環境には、Azure CLIがインストールされていないのでそこから始めました。
インストールしたのは良いが、パスが通っていないのでやむを得ず再起動。(今にして思えば、サインイン/ログオンし直しで良かったような)
複数サブスクリプションあるため、az loginだけだとだめでございます。
az login --tenantでテナントIDを指定してAzureへ接続します。
Announcing the Public Preview of AI Shell の記事に戻りまして、Start-AIShellにてAI Shellを起動します。
Copilot in Azure を選びました。
無事に認証が通っています。
サンプルのプロンプトを入れてみました。問題なく動いたようです!
exitでAI Shellを終了できます。










2025年4月30日水曜日

Public Preview of AI Shellのパブリックプレビュー

Announcing the Public Preview of AI Shell

という記事が昨年の11月末にリリースされています。

WindowsとMacOSのいずれかにインストールされているPowerShellで使用でき、下記のどちらかと繋いで使用できます。

  • Azure Open AI Agent
    ただし、Azure Open AIが別途必要
  • Copilot in Azure
遅まきながら、Windows 11に入れてみます。インストール自体は、管理者権限無しでも可能です。Announcing the Public Preview of AI Shellを見てみると、

Installs aish.exe to $env:LOCALAPPDATA\Programs\AIShell and adds it to your PATH

ということ故ですね。
インストールはできました。
Start-AIShellで起動後、Copilot in Azureも選択しました。
が、エラーになってます。
サンプルのプロンプトも投げてみましたが、unauthorizedになっています。

もう少しAnnouncing the Public Preview of AI Shellを見ながら、あちこち当たってみる必要がありそうですね。

2025年4月26日土曜日

Get-ChildItemとImport-VMによる効率的なインポート

VM をインポートする

という記事があります。元々はAzure Local 22H2などに移行するための解説です。

諸事情により、Windows Server 2025をクリーンインストールしたので、元々いた仮想マシンのインポートで活用することとしました。

Get-ChildItemの再帰を使ってvmcxを抽出可能です。

Get-ChildItemの再帰を使ってvmcxを抽出し、Import-vm -registerとget-vmをパイプラインで繋いでいくと、最終的にインポートした仮想マシンの状態まで一覧化可能になります。
このやり方は便利なので覚えておこうと思います。

2025年4月19日土曜日

Standard ポリシーを使用したトラステッド起動 VM のバックアップ その1

トラステッド起動仮想マシンは、Azure Backupの拡張ポリシーを使用する必要がありました。Standard ポリシーの使用は、まだプレビューということです。

拡張ポリシーの方ができることは多いのですが、コストもかかると思います。本稿執筆時点では、確かにEnhancedのみが指定できます。

Azure Updatesなどにて、正式リリースされたら改めて確認する予定です。

Visual Studio CodeからGitHub Copilotを使ってみた

Windows Admin Center 2410 (WAC 2410と略す)に付属するPowerShellモジュールであるMicrosoft.WindowsAdminCenter.Configurationに含まれるコマンドレット名とSYNOPSISを抽出したく、まず下図のとおりコマンドを実行しました。

出力させたファイルの一部を下記に添付します。

NAME
    Add-WACCertificates
    
SYNOPSIS
    [PLACEHOLDER] Adds the saved certificates used by GW to this server.
    
    
SYNTAX
    Add-WACCertificates [-ExitWithErrorCode] [<CommonParameters>]
    
    
DESCRIPTION
    Add the certficates whose thumprints are saved in appsettings.json to this node. The file paths for the .cer files
    will also be available in settings.json.

補足)Get-Helpで説明をうまく出力できなかったコマンドレットが複数ありました。

Get-Helpコマンドレットを使っているので、その書式どおりです。とはいえここからSYNOPSISだけコピー&ペーストするのは効率が悪いですね。

そこで表題の通り、Visual Studio CodeからGitHub Copilotを使ってみました。プロンプトを微調整して指定した(配下を直下と指定しなおした)ものが下記です。


良い感じのコードを生成してくれました。出力結果をソートするようにプロンプトで指定すればなおよかったようです。上記画面の左下に抽出結果も出ています。念のため抽出結果の抜粋を下記に貼ります。

Name                                    Synopsis
----                                    --------
Add-WACCertificates                     [PLACEHOLDER] Adds the saved certificates used by GW to this server.
Add-WACSetupStartMenuShortcut           Adds a start menu shortcut to the "WindowsAdminCenterSetup" executable.
Add-WACSideloadSite                     Add WAC sideload site.