読者です 読者をやめる 読者になる 読者になる

素敵なおひげですね

PowerShellを中心に気分で書いているブログです。

Visual Studio Code PowerShell拡張で設定可能なコードフォーマットまとめ

Visual Studio Code PowerShell拡張のVersion 0.9からコードフォーマッターの機能が追加されコードの自動フォーマットができる様になりました。 marketplace.visualstudio.com 本エントリでは設定可能なフォーマットスタイルをまとめます。 以降で説明する設…

PowerShellの起動時に表示されるプロファイルに関するメッセージについて

小ネタです。 Windows 10などでPowerShellの起動時に以下の様なメッセージが表示され、プロファイルの読み込みにかかった時間が表示される場合があります。 パーソナル プロファイルとシステム プロファイルの読み込みにかかった時間は xxx ミリ秒です。 (英…

AppImage版のPowerShellが提供されました

PowerShell on Linuxの話です。 先日リリースされた PowerShell 6.0.0.Alpha17 からAppImageの実行バイナリが提供されました。 AppImageについて 公式サイトは以下。 appimage.org かつてklikやPortableLinuxAppsと呼ばれていたプロジェクトで、ディストリビ…

PowerShell on Linuxに普通にPSRemotingしてみる - その3

その1とその2の続き的な。 以前のエントリで書いた、 github.com のIssueがクローズされ、OMIおよびPowerShell on Linux OMI Providerがpackages.microsoft.comリポジトリからインストール可能になったので試してみました。 インストール 私が使い慣れている…

AdmxPolicyというPowerShellモジュールを公開しました

ちょっとしたきっかけから、AdmxPolicyというADMXファイルの中身を解析して各グループポリシーが使用するレジストリキーの値を取得するPowerShellモジュールを作ってみました。 ソースと基本的な使い方はGitHubに上げています。 github.com またPowerShell G…

Nano ServerにPowerShell 6.0をインストールする

公式に手順が追加されたのでまとめてみました。 公式な手順について 公式な手順はこちら。 github.com PowerShell 6.0のインストール 基本的にPowerShell 6.0のインストールはWindows 10/Windows Server 2016向けのZipファイルを展開するだけでOKです。 Nano…

PowerShellのSort-ObjectコマンドレットでIPアドレスのソートを行う

小ネタです。 orebibou.com こちらの記事を見てPowerShellでもやってみました。 サンプルデータ 元記事と同じデータ(test.txt)を使います。 192.168.0.102 192.168.0.8 192.168.0.97 192.168.0.68 192.168.0.99 192.168.0.66 192.168.0.24 普通のソート結果…

LinuxへのPowerShellのインストールが簡単になりました

先日PowerShell Blogで発表された内容について実際に試してみました。 blogs.msdn.microsoft.com packages.microsoft.comリポジトリ Ubuntu(apt)およびCentOS(yum)向けにMicrosoft独自のリポジトリhttps://packages.microsoft.comが提供され、このリポジトリ…

Visual Studio Codeで新規作成したファイルの言語モードを設定する方法

なんとなく試したら上手くいってしまったので。 現在のバージョン(Ver.1.9)では上手くいきましたが、今後新しいバージョンではできなくなるかもしれません… 動機 私はVisual Studio CodeをほぼPowerShellを書くのに使っているため、ファイルを新規作成した時…

Windows Management Framework (WMF) 5.1がリリースされました

長く苦しい戦いだった… 公式のアナウンスは以下。 blogs.msdn.microsoft.com 更新内容について リリースノートはこちら。 WMF 5.1の新機能ついてはこちらかこのブログの以下のエントリを参照してください。 WMF 5.1の新機能をざっくり説明する - 1. 新シナリ…

PowerShellのHashtableがコレクション扱いされない話

先日Twitter上でちょっと話題になってたのでメモを残しておきます。 PowerShellのHashtableはコレクション扱いされない こちらは割と既知の話で、 pierre3.hatenablog.com や winscript.jp にある通りPowerShellのHashtableはコレクション扱いされません。 …

Nano Serverのアップデートについて私的まとめ

元ネタはこちら。 blogs.technet.microsoft.com technet.microsoft.com 内容としては割とそのままで、正直なところ、ただの備忘録です。 2017/02/28ちょっと補足 本エントリでは更新するKBに、KB3199986とKB3206632を使用していますが、元ネタでは、 KB31769…

PowerShell温故知新、Monad Technology Blogについて

PowerShell Advent Calendar 2016 最終日のエントリになります。 qiita.com Monad Technology Blog Monadといっても、 モナドは単なる自己関手の圏におけるモノイド対象だよ。 なヤツではなくて、PowerShell開発時のコードネームのことです。*1*2 blogs.msdn…

メリクリ

メリクリ なにこれ? bannerコマンドのPowerShell版を作ってみました。 以前シェル芸人たちの間でbannerコマンドが流行ったことがありまして、 (下記リンク参照) togetter.com その際に@mattnさんがgobannerというGo言語のbanner実装を作りました。 github.c…

CLR/H #103 ~ クリスマス オブ ザ デッド ~ でPowerShellをふりかえりました

先日、通称カソウ化デイことCLR/H #103 ~ クリスマス オブ ザ デッド ~で「PowerShell 10年間ふりかえり」というタイトルでPowerShellについてお話させていただきました。 clrh.connpass.com 本エントリはPowerShell Advent Calendar 2016 18日目のエント…

PowerShellで入れ子のクラス(内部クラス)を示すには + を使う話

よく忘れるので備忘録としてメモっておきます。 内容に関してはPowerShell Blogの以下の記事のままです。 blogs.msdn.microsoft.com PowerShellで入れ子のクラス(内部クラス)を示すには + を使う PowerShell Blogの例ではNet.WebRequestMethods.Ftpクラスを…

PowerShell上でdockerコマンドの自動補完を行うposh-dockerモジュールについて

PowerShell Advent Calendar 2016 6日目の駆け込みに軽いネタを。 qiita.com はじめに Docker for Windowsのサイトを何か更新がないかと眺めていたら新しいモジュールが紹介されているのを発見しました。 docs.docker.com posh-dockerモジュール github.com …

はじめてのPowerShellモジュール公開

PowerShell Advent Calendar 2016 3日目の記事です。 qiita.com はじめに 先月簡単なPowerShellモジュールを作ってPowerShell Galleryで公開しました。 その際に公式なドキュメントが全然無く苦労したので本エントリで手順をまとめることにしました。 内容に…

Pesterでカスタムアサーションを行う

前回の続きというわけではないのですが... 元ネタはこちら。 kamranicus.com はじめに 大前提としてPester標準の機能としてカスタムアサーションを行うことはできません。 本エントリでは、元ネタにある通りPesterの内部動作をハックすることでカスタムアサ…

Pesterでパラメタライズドテストを行う

意外とドキュメントが無かったので*1ブログに書いておきます。 github.com テスト例 Gistに簡単な例を上げました。 これを見てもらえば言いたいことは一発でわかっていただけるかと思います。 Pesterでパラメタライズドテストを行うサンプル 実行結果はこん…

PowerShell 10 Year Anniversary Celebration Eventが開催されました

イベントから既に1週間以上経ってしまいましたが、個人的な備忘録も兼ねてブログ書きます。 PowerShell 10 Year Anniversary Celebration Event イベントはPowerShell 1.0がリリースされた日からちょうど10周年となる、2016/11/14の8:00 ~ 16:00(PST)*1にCh…

Windows10 Insider Preview Build 14971でPowerShellが既定のコマンドラインシェルになった話

すでに各所で日本語情報も出てますが、 blogs.windows.com の話です。 本エントリではPowerShellに絞った内容にします。 はじめに PowerShellが既定のコマンドラインシェルになるといってもコマンドプロンプト(cmd.exe)が無くなるとか、OSの挙動が変わるとい…

シェル芸勉強会の問題にPowerShellでチャレンジしてみた

きっかけはコレ。 togetter.com 最初はスルーしていたのですが、ふと良さげな実装を思いついたのでTwitterでこんなつぶやきをしてみました。 意外と愚直な手順でいけたのでやっぱり参戦w "響け!ユーフォニアム" | % {$c,$l=[Char[]]$_,$_.Length;for($i=0;$…

PowerShellでDockerを操作する方法についてあれやこれや

うまくまとめることが出来ず雑多な話になっています。 基本的にはWindows Server 2016およびWindows 10を対象としていますが、その他のOSも対象になる場合があります。 1. 変更されたDockerのインストール手順について 基本的にWindows Server 2016を対象と…

PowerShellのホストとプロファイルについてまとめ

PowerShellがオープンソース、マルチプラットフォーム化したのを踏まえ、改めてPowerShellのホストとプロファイルについてまとめてみました。 ホスト PowerShellにおけるホストとは簡単に言ってしまうとPowerShellの実行環境のことです。 基本的なホスト 従…

PowerShellでBOM無しUTF8を簡単に扱う、デフォルト設定を簡単に変える方法

なんとなく思いついて試したら意外といい感じになったので。 はじめに PowerShellのUTF8はBOM付きUTF8 PowerShellにはOut-File等といったファイルを簡単に扱うためのコマンドレットがいくつか存在します。 たとえばOut-FileでUTF8のファイルを出力する場合は…

符号化処理芸人たちのシェル芸をPowerShellで再現する

元ネタはこちら。 papiro.hatenablog.jp はじめに 私はシェル芸人ではないので大したことも面白いこともできませんのでご了承ください。 本エントリはシェル芸人たちの匠の技をPowerShellで再現するにはどうするかという点だけに注力しています。 PowerShell…

PowerShell on Linuxに普通にPSRemotingしてみる - その2

以前のエントリ、 stknohg.hatenablog.jp でソースからのビルドは面倒だからやらないと言ったのですが、気が変わりました。 というのも、 github.com のIssueがCloseされmasterブランチに取り込まれたとのことで、次のバージョンのリリース前にその結果を確…

PowerShell DSC for Linuxを試す

そろそろ試しておかないといけないかなと思ったので。 正直PowerShell DSCはまだまだ勉強不足なのでおかしなところがあるかもしれませんがそこはご容赦ください。 PowerShell DSC for Linuxとは github.com 名前の通りLinuxでPowerShell Desired State Confi…

PowerShellコンソールの表示色についてのちょっとした話

ちょっと面白いIssueを見つけたので。 github.com このIssue自体は以下の様に前景色にDarkYellowを指定した場合に表示される色がおかしいというものです。 Write-Host '████████' -ForegroundColor DarkYellow 確かにWindowsで試すと下図の様に黄色ではなく…

PowerShell on Linuxに普通にPSRemotingしてみる

ある意味前回の続き的な。 注意事項 一応PSRemotingできるのは確認しましたが、まだアルファ版なので動作が超不安定です。 実際に使える様になるのはまだまだ先になりそうな感じです。 OMI ServerとPowerShell on Linux OMI Provider WindowsのPSRemotingで…

PowerShell Remoting over SSHを試す

PowerShell on Linux(Mac)が公開された際の新機能の一つにSSHによるPSRemoting(PowerShell Remoting over SSH)があります。 本エントリではこの機能を試してみます。 PowerShell Remoting over SSHとは ドキュメントでの表記がPowerShell Remoting over SSH…

PowerShell on LinuxをDocker上で試す

試した系の記事は既に多くの方がやっていますが、自分も一つくらいは書いとかないといけないかなと思ったので。 インストール手順 ぶっちゃけインストール手順はGitHubに載ってるのでそれを見れば十分です。 実のところ、わざわざこんなエントリ書く必要も無…

Windows 10のコンテナーとDocker for Windowsを共存させる

いろいろあってちょっと遅くなりましたが stknohg.hatenablog.jp の続きです。 2016/10/18 追記 バージョン 1.12.2 Bata26よりDocker for Windowsにdockerd.exeが同梱される様になりGUIでDocker Engineの切り替えができる様になりました。 stknohg.hatenablo…

PowerShell on Linux(Mac)でShift-JISを扱う

つい先日PowerShellがオープンソース化、クロスプラットフォーム化されてとてもうれしい限りです。 github.com この件について思うところは結構あるのですが、情報が多くてまだ自分のなかで考えをまとめきれていません( 考えがまとまったらブログに書こうと…

Windows 10のコンテナーとDockerを試す

Anniversary Update(1607)が来てWindows 10でもHyper-Vコンテナーの機能が使える様になったので早速試してみました。 注意事項 本エントリは2016/08/05に公開後、2016/09/28に最新の情報に基づいて全面的に書き直しています。 2016/10/18 追記 Docker for Wi…

PowerShellの起動時に読まれるps1xmlファイルについて

最高に誰得なエントリです。 PowerShellの起動時に読まれるps1xmlファイル stknohg.hatenablog.jp で触れましたが、PowerShell 1.0~5.0ではpowershell.exeの起動時に$PSHOMEにある*.format.ps1xmlと*.types.ps1xmlを読み込み、オブジェクトの書式設定やオブ…

WMF 5.1の新機能をざっくり説明する - 4. PowerShell エンジンの機能強化 編

今回は、 新シナリオと機能 編 バグ修正 編 コンソール機能強化 編 の続きです。 今回の対象範囲 WMF 5.1 の PowerShell エンジン機能強化 についてわかる範囲で補足を入れていく感じにします。 パフォーマンス パフォーマンスの改善について いくつかの重要…

WMF 5.1の新機能をざっくり説明する - 3. コンソール機能強化 編

今回は 新シナリオと機能 編 バグ修正 編 の続きです。 今回の対象範囲 WMF 5.1 のコンソール機能強化 についてわかる範囲で補足を入れていく感じにします。 VT100 のサポート Windows 10 では、VT100 エスケープ シーケンスのサポートが追加されました。 Po…

WMF 5.1の新機能をざっくり説明する - 2. バグ修正 編

前回の続きです。 今回の対象範囲 今回は、 WMF 5.1 のバグ修正 についてわかる範囲で補足を入れていく感じにします。 モジュールの自動検出の完全な受け入れ TODO : もう少し調べる MSDNを読んでもいまいちなんのためのバグ修正なのかわかりませんでした...…

WMF 5.1の新機能をざっくり説明する - 1. 新シナリオと機能 編

WMF 5.1のプレビュー版も出たので、そろそろWMF 5.1の機能について触れないとダメかなと思いエントリを書きます。 一回では書ききれないので何回かに分けて書く予定です。 公式情報 WMF 5.1についてはMSDNの、 WMF 5.1 リリース ノート でリリースノートが出…

Windows Management Framework (WMF) 5.1のプレビュー版がリリースされました

【2017/01/22追記】 つい先日WMF 5.1の正式版がリリースされました。 詳細はこちらのエントリをご覧ください。 stknohg.hatenablog.jp 【追記ここまで】 公式ブログより。 blogs.msdn.microsoft.com ブログの日付が7/16日ですが、本日のリリースです。 WMF 5…

Nano ServerのPowerShellについてざっくりとした話

基本的にはこちらの記事の内容をかいつまんだ感じです。 https://technet.microsoft.com/en-us/windows-server-docs/compute/nano-server/powershell-on-nano-servertechnet.microsoft.com technet.microsoft.com まだ日本語に翻訳されてないみたいなので、…

VirtualBoxでNano Serverを動かしてみる

そろそろNano ServerとPowerShell Coreに触れていかないといけないかなぁと思ったので。 普段使いの環境がVirutalBox + Vagrantなので、Nano ServerもVirtualBoxで動かしたいと思い環境を作ったのですが、ちょっとハマりどころがあったので、その辺を含めて…

第101回CLR/H勉強会 ~日本の夏、MR の夏~でLTしてきました

先週の土曜にインフィニットループさんのセミナールームをお借りして第101回CLR/H勉強会 ~日本の夏、MR の夏~を開催しました。*1 clrh.connpass.com 生憎の雨天でしたが、多くの方に参加していただき勉強会・懇親会と大いに盛り上がりました。 会場を貸し…

2016 Microsoft MVPアワードを受賞しました

Cloud and Datacenter ManagementのカテゴリでMicrosoft MVPアワードを受賞させていただきました。 この一年CLR/Hやきたあずでコミュニティ活動しつつPowerShellの情報を発信してきた事が評価された結果だと考えております。 あまりいい感じのことが言えない…

Test-Connectionが遅い理由と対策方法について

はじめに きっかけは@Pyromaniaさんのこのツイートから。 Test-Connection でQuiet オプションつけないと、ICMPのあとにNetBIOS Name Query なげててLinux系の鯖だと時間かかるっぽいという知見をえた。困った時のWiresharkさまさまやでー(— Pyromania (@Py…

Visual Studio CodeのターミナルをPowerShellに変える際に注意すべきこと

Visual Studio Codeのバージョン1.2.0からターミナル機能が搭載され、早速このターミナルをPowerShellに変える方法が紹介されています。 blogs.msdn.microsoft.com pglib.hateblo.jp 本エントリではターミナルをPowerShellに変える際に注意すべきことについ…

PowerShellでmountvolコマンドを代用する

ディスクボリュームのマウント・アンマウントやドライブレターの割り当てを行うのに便利なmountvolコマンドですが、本エントリではこれをPowerShellで代用する方法について説明します。 Storage Cmdletの使用 Windows 8/Windows Server 2012以降であれば、St…

PowerShellからコマンドプロンプトを呼んだ時にちょっとだけ便利にする方法

需要は少ないと思いますが、地味に便利な方法です。 はじめに 突然ですが質問です。 下の画像は何のプログラムを起動していると思いますか? 正解はPowerShellコンソールから起動したコマンドプロンプト(cmd.exe)でした。 Process Explorerで見るとこんな感…