PowerShell でグラフの描画をしようとしたとき、Chart Control を使用してグラフを作成するという方法があります。
単純なグラフがこれ以外の方法で描画できないかなと思い探してみたところ、Graphical というモジュールが手軽に使えそうでしたので、少し試してみました。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
PowerShell でグラフの描画をしようとしたとき、Chart Control を使用してグラフを作成するという方法があります。
単純なグラフがこれ以外の方法で描画できないかなと思い探してみたところ、Graphical というモジュールが手軽に使えそうでしたので、少し試してみました。
「PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説」 という書籍が発売され、最近時間を見つけては読み進めていました。
正誤表はこちら。
『PowerShell実践ガイドブック』サポートページ
PowerShell の情報を探していると、高確率でヒットする、tech.guitarrapc.com の ぎたぱそせんせー が書かれ、ちまたでは #貝殻本 と呼ばれている書籍です。
書籍の内容をきちんと理解できたというレベルには至っていませんが、最後までパラパラと読むことができたので、感想などをポチポチ書いてみたいと思います。
以前、投稿した SQL Server on Linux のデータベース バックアップを PowerShell Core で取得してみる のスクリプトをベースにしたものですが、Runspace を使用して複数のクエリを実行するスクリプトを作ってみました。
「複数のセッションからクエリ実行したときの、あの動き、どうだったっけ?」というのを確認するために、ざっくり作ったものなので、時間のある時に清書しようかと。
実行が 10 数ミリ秒で終わってしまうものですと、実行タイミングがかぶることが無く、あまりこのスクリプトを使う必要はないのですが、「数秒以上かかるメンテナンスのクエリが実行されている最中に、他のクエリを実行するとどうなるか?」というような用途での利用を想定したものです。
SQLQueryStress ですと、同一のクエリを複数セッションで実行する方式となり、異なるクエリを同時に実行するためには、複数ツールを起動した状態にしなくてはいけないので、その部分を簡易的に埋める目的もあったりしますが。
データセットの情報を別で表示する際に「Out-Gridview」を使用しているため、Windows PowerShell 専用となっているところもどこかで対応したいですねぇ。。。
de:code 2018 では、SQL Server on Linux のデータベースバックアップを bash + sqlcmd で実装する方法をデモで実施しました。
Windows PowerShell から、バックアップを取得するスクリプトも以前組んだことがあったのですが、PowerShell Core で実装したことが無かったので、勉強がてら作成してみました。
(Windows PowerShell (v5.1) でも実行可能です)
pwsh./Backup-Database.ps1 -ServerInstance <ServerName> -Username <Login> -P <Login Password> -RunSpaceSize 5
クロスプラットフォームに対応した PowerShell である、PowerShell Core 6.0 に一部対応した SQL Server 用のモジュール (SqlServer) の提供が開始されました。
SQL Server 向けの PowerShell については、SSMS 17.0 以降は、PowerShell ギャラリーからインストールを行う方法に代わっています。
SQL Server PowerShell モジュールのインストール
最新版の SQL Server PowerShell モジュールである version 21.0.17240 から、PowerShell 6 Support が含まれるようになりました。
Power BI のストリーミングデータセットについては、ポータルから簡単に作成することができます。
Power BI のリアルタイム ストリーミング
投稿作成時点では、ポータルから作成した、ストリーミングデータセットについては、Power BI デスクトップの「Power BI サービスからのデータの取得」では使用することができないため、PowerShell で Power BI のプッシュデータセットを作成してみました。
プッシュデータセットであれば、複数のテーブルをデータセットに含めることもできますので、ストリーミングデータセットより高度な内容ができるかと。
基本的な流れと REST API については以下の情報を参考にするとよいかと思います。
Active Directory Authentication Library (ADAL) を使いたかったので、最新の Azure Active Directory V2 PowerShell Module をインストールした環境や、依然に ADAL を使っていた環境でいろいろとやっていたら環境によってスクリプトが動いたり、動かなかったりしたのでなんでだろと思って調べた時のお話です。
ブチザッキ兄さんに聞いてみたらいろいろと教えていただけました。
さすが我らのブチザッキ兄さん。
@kosmosebi ブチザッキ兄さん、ADAL v2っていつから使えないとかあったりするんでしょうか?
ADAL v3になると、トークン生成にAcquireToken使えなくなるみたいで、これつかわない方法に移行する必要があるのか気になったもんで。— Masayuki Ozawa (@Masayuki_Ozawa) June 2, 2017
後で見る用のリストを。
Microsoft、「PowerShell」をオープンソース化し、LinuxとOS X版を提供
PowerShell on Linux and Open Source!
Announcing PowerShell on Linux – PowerShell is Open Source!
PowerShell is open sourced and is available on Linux
PowerShell is now open-source, and cross-platform
Open source PowerShell on Windows, Linux, and OS X!
PowerShell on Linux and Open Source
Ubuntu 16.04 にインストールする場合は以下のような形になるかと。
curl -L -O https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.9/powershell_6.0.0-alpha.9-1ubuntu1.16.04.1_amd64.deb sudo apt-get install libunwind8 libicu55 sudo dpkg -i powershell_6.0.0-alpha.9-1ubuntu1.16.04.1_amd64.deb
(∩´∀`)∩ わーい
Windows 10 / Windows Server 2016 TP3 の PowerShell 5.0 で、New-SelfSignedCertificate が機能強化されていました。
WMF 5.0 をインストールすれば、他の環境でも同じになるのでしょうかね??
Azure に、Windows Server 2016 TP3 の仮想マシンを 2 台構築し、それをローカルから Invoke-Command でワークグループクラスターを構築しようとした際の思い出を。
リモートでコマンドを実行するためにいろいろと設定していたり、並列で実行できる個所を直列で実行していたりと「それ、ぎたぱそせんせーの valentia つかえばよかったのでは」と思う方もいるかもしれませんが、必要な設定を自分で試して勉強しておきたかったので、えっちらおっちら、一つずつやってみました。
今回は、以下のような環境に対して、ワークグループクラスターを設定しています。