しばたテックブログ

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

PowerShell

PowerShell 6.0がリリースされました

既に日本語情報も出回っていますが、2018/1/10(PST)*1にPowerShell 6.0が正式リリースされました。 公式情報は以下になります。 blogs.msdn.microsoft.com 2016年にPowerShellがオープンソースになりPowerShell 6.0のアルファ版がリリースされてから約1年半…

Windows 7にPowerShell 6.0をインストールする - 再び

blog.shibata.tech の続きです。 前回はPowerShell 6.0アルファ版で試しましたが、今回はGAリリース直前のRC2で試しています。 基本的な手順は前回と変わらないのですが、前提条件が若干変わったため、その点を補足するかたちで本エントリを書きます。 前提…

PowerShell 6.0からジョブの実行に & が使える様になります

PowerShell 6.0 Beta.2からジョブの実行方法が拡張され、文の最後*1にアンパサンド(&)を付けることでジョブを起動することができる様になりました。 これはBash等のシェルにある機能と同等のものですが、PowerShellには従来からバックグラウンドで別プロセス…

PowerShell 6.0で範囲演算子(..演算子)が拡張される話

とあるPull RequestがきっかけでPowerShell 6.0 RC1から範囲演算子(..演算子)が拡張され、Int型だけでなくChar型も扱える様になりました。 本エントリではその内容について説明します。 範囲演算子でChar型が扱える様になります もともと範囲演算子(..)は、 …

PowerShellGetをアップデートしよう

PowerShell Advent Calendar 2017、18日目です。 qiita.com PowerShell 5.0以降、Windows 10やWindows Server 2016では標準でインストール済みのPowerShellGetの機能について、現時点での最新バージョンはVer.1.6.0なのですが、例えばWindows 10においてはFa…

続・Get-Randomで使われている乱数生成アルゴリズムについて調べてみた

PowerShell Advent Calendar 2017、13日目です。 qiita.com 以前に書いた、 blog.shibata.tech の続きになります。 本エントリではPowerShell 6.0でGet-Randomで使われている乱数生成アルゴリズムがどう変化したか調べた結果について説明します。 はじめに …

PowerShell 6.0をデバッグ実行する

PowerShell Advent Calendar 2017、11日目です。 qiita.com PowerShell 6.0のGAリリースも間近となりビルド・デバッグ手順も固まってきたと思えたので本エントリを書きます。 はじめに PowerShellがオープンソース化した時点でPowerShellのビルドはVisual St…

PowerShellにおける"配列リテラル"について

PowerShell Advent Calendar 2017、9日目です。 qiita.com 久しぶりのPowerShellの基本がわかっていなかったシリーズです。 以前のオープンソースカンファレンス2017 Hokkaidoでの登壇などで、ふつうに PowerShellには配列リテラルがあります。 と説明してい…

Application Request Routing(ARR)を使ったRedmineの設定について

blog.shibata.tech 以前に構築したWindows Server上のRedmineですが「IISと一緒に80番ポートでアクセスできる様にしたいなぁ。」と思ったのでリバースプロキシとしてApplication Request Routing(以降ARR)を導入してみました。 ARRを使ったRedmineの設定につ…

Windows 10のPowerShellモジュール変更点まとめ

まとめ、というか作成予定地です。 Windows 10の各バージョンごとでのPowerShellモジュールの変更点についてGistに簡単なメモをまとめたのでリンクを張っておきます。 時間があればちゃんとした記事としてまとめ直したいと思います。 変更点の調査方法 各バ…

PowerShell 6.0からファイル出力に関わるエンコーディングが変わります

現在開発中のPowerShell 6.0ではクロスプラットフォーム化することを主な契機としてファイル出力のエンコーディングに大きな破壊的変更が入ります。 現在最新のPowerShell 6.0 Beta.9でその変更が一部反映されたため本エントリで紹介します。 1. -Encodingパ…

Pester 4がリリースされました

というか結構前にしていました。 The first stable release of Pester 4 is out! Thanks to all contributors, most importantly @MSH_Dave @Jaykul @alx9r @ITpraktyk & me @nohwnd pic.twitter.com/wRm50U9GjM— Pester (@PSPester) 2017年9月13日 9月の中…

Pesterでカスタムアサーションを行う - 正式版

blog.shibata.tech 以前Pesterの機能をハックしてカスタムアサーションを行うエントリを書きましたが、Pester 4.0.5より正式にカスタムアサーションを追加する方法が提供されました。 本エントリではその方法を紹介します。 Pesterでカスタムアサーションを…

PowerShell 6.0からPowerShellのプログラム名がpwshに変わります

発端はGitHubのこちらのIssueから github.com もともと「PowerShellのプログラム名であるpowershell.exe(powershell)は長いので略称があった方が良いよね。」という提案から始まっています。 新しいPowerShellの略称について 先のIssueを見ればわかりますが…

PowerShell 6.0でアイコンが新しくなる話とPosh-ChanことPowerShellさんについて

ちょっとしたことですが意外と大きな変化です。 PowerShell 6.0の新しいアイコン PowerShell 6.0の開発においてこれまでは味気ないコンソールアプリのデフォルトアイコンが使用されていましたが、PowerShell 6.0 Beta.8から黒色をベースとした新しいアイコン…

PowerShell既定のフォーマット設定に介入する方法について (補足)

前回のエントリに対する補足を軽く書いておきます。 blog.shibata.tech format.ps1xmlのDefaultSettingsタグ PowerShell既定のフォーマット設定に介入するには、適当なforamt.ps1xmlファイルを作ってPropertyCountForTableタグに更新したい値を設定すればよ…

PowerShell既定のフォーマット設定に介入する方法について

きっかけはカナダのMVP、Thomas Raynerさんのブログエントリから。 www.workingsysadmin.com PowerShellにおいて予め*.format.ps1xmlによって表示書式が定められてないオブジェクトは、表示されるプロパティの数が4個以下の場合はTableフォーマットを、5個以…

PowerShellでmkdirしたディレクトリにcdする方法

クラスメソッドさんの dev.classmethod.jp が人気なので便乗してPowerShellだとどうすれば良いか軽く書いておきます。 本エントリの内容はWindows 10、PowerShell 5.1、PSReadline 1.2な環境で動作確認しています。 1. $$自動変数を使う Bashでは$_が「ひと…

Desired State Configuration Core (DSC Core)が発表されました

発表されてからちょっと時間が経ってしまいましたがざっくりまとめておきます。 公式情報はコチラ blogs.msdn.microsoft.com 以前PowerShell 6.0、PowerShell Coreのロードマップが発表された時はWindows PowerShell Desired State Configuration(以後PowerS…

Windows 10でPowerShell Remoting over SSHを試す

【2017/10/25追記】 先日リリースされた、Fall Creators Update(1709)でPowerShell Remoting over SSHができなくされていました。 これまで利用可能だったのが間違った更新なのか、単純に一時的な使用不可なのかはよくわかりません... 【追記ここまで】 公式…

Windows Serverに最小構成でRedmineをインストールする - その2

blog.shibata.tech 前回のエントリで最後に触れたとおりWindowsのThinでHTTPSアクセスを有効にする方法について説明します。 WindowsのEventMachineでSSLを有効にする方法 Thinの内部で利用されているEventMachineでSSLを有効にする方法については以下に詳し…

Windows Serverに最小構成でRedmineをインストールする

WindowsにRedmineをインストールする方法としてはBitnami Redmine Installerを使うのがメジャーですが、個人的な要件でできるだけ最小構成にしたく、MySQLを使わずにSQLiteを、Apacheも使いたくなかったので幾つかのサイトを参考にして自力でインストールを…

VisualSVN Server上のApacheでTracを動かしてみる

非常にレガシーなはなしです。 Trac Lightningからの移行をどうしようか悩んだ末に検証した内容なのですが、おそらくこれを本番環境で採用する事はないと思います。*1 一応最低限の動作を確認したので備忘録としてエントリを残しておきます。 0. はじめに 本…

PowerShell 6.0のロードマップに関して

先日PowerShell BlogでPowerShell 6.0のロードマップに関するエントリが公開されました。 blogs.msdn.microsoft.com 日本語情報も出ており、例えば窓の杜による情報はこちらになります。 forest.watch.impress.co.jp このアナウンスはかなりセンシティブな内…

オープンソースカンファレンス2017 Hokkaidoで登壇しました

先日行われたオープンソースカンファレンス2017 HokkaidoでオープンソースになったPowerShellを学ぼうというタイトルでPowerShell入門的なお話をさせて頂きました。 朝一番のセッションにもかかわらず多くの方に来ていただき本当に嬉しかったです。 ありがと…

次期Nano Server(Version 1709)のPowerShellについて

元ネタはこちら。 docs.microsoft.com blogs.technet.microsoft.com 次期Windows ServerおよびSemi-annual Channelについては山市さんがサクッとまとめてくれています。 yamanxworld.blogspot.jp 次期Nano Serverはコンテナ専用になる話 今年の9月リリース予…

Windows 10 Creators UpdateでSQL*Plusを使うと日本語が文字化けする件について

【2017/06/05追記】 本現象は先日出た累積更新(KB4020102)で解消されています。 【追記ここまで】 きっかけは @masaru_b_cl さんのこのツイートから。 SQL*Plusが出力する日本語が、Windows 10の新コンソールだと文字化けする……なんだこれ?— 白い高野さん (…

PowerShell 6.0のBeta版がリリースされました

公式の案内はこちら。 blogs.msdn.microsoft.com GitHubのマイルストーンにあった通りBuild 2017に合わせる形のリリースとなりました。 インストールおよびアップデート GitHubから最新のインストーラーをダウンロードして上書きインストールするか、Linux環…

Windows 10でロードアベレージを取得する?

小ネタです。 ふと、「Bash on Ubuntu on Windowsを使えばWindowsでもロードアベレージを取得できるよなぁ…」と思ったので実際に試してみました。 Windowsのロードアベレージ www.atmarkit.co.jp 上の記事に詳細が説明されていますが、WindowsではUNIXやLinu…

Pester 4での新機能・変更点まとめ

元ネタはこちら。 github.com そろそろPester 4のリリースも近づいているかなと思い、新機能や変更点をざっくりとまとめてみました。 Pester 4のインストール 現時点での最新版はVer.4.0.3(Release Candidate扱い)となっており、PowerShell Galleryから入手…