しばたテックブログ

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

PowerShell

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を読んでもいまいちなんのためのバグ修正なのかわかりませんでした...…