しばたテックブログ

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

PowerShell

PowerShell Core 6.1で導入されるMarkdown関連機能について

PowerShell Core 6.1 Preview.4からMarkdownを扱う以下のコマンドレットが追加されました。 ConvertFrom-Markdown Show-Markdown Get-MarkdownOption Set-MarkdownOption これらのコマンドレットを使うとMarkdownのドキュメントを解析し、HTMLまたはコンソー…

PowerShell Core 6.1で導入されるThreadJobについて

ちょっと前の話なのですが、PowerShell Core 6.1 Preview.4からジョブ関連でThreadJobという新機能が追加されました。 従来のジョブ これまでのPowerShellではStart-Jobなどのコマンドを使うことで重たい処理をバックグラウンドで実行させるジョブの仕組みが…

AzurePSDriveの実装を調べてみた

azure-mokumoku.connpass.com 先週ちょっと東京へ行く用事があり、それに合わせてAzureもくもく会@新宿に参加した際に調べた内容をまとめたエントリです。 AzurePSDriveとは AzurePSDriveはAzure CloudShell(PowerShell)を起動した際のカレントロケーション…

PowerShellで外部プロセスのコマンドラインを取得する

何気に.NET Framework/.NET Coreには外部プロセスのコマンドラインを取得する方法が無く、このため、PowerShellからコマンドラインを取得しようとする場合少し手間をかけてやる必要があります。 PowerShellで外部プロセスのコマンドラインを取得する 簡単な…

PowerShell CoreのSnapパッケージが提供されました

既に各所で報じられ日本語情報も多いですが、思っていた以上にニュースになっている様なので本ブログでもとりあげてみます。 公式情報 細かい話についてはPowerShell Teamのこちらのブログエントリをご覧ください。 blogs.msdn.microsoft.com Snapsについて …

保護されているパーティションをPowerShellで削除する

小ネタおよび備忘録です。 手持ちのESXiをインストールしたUSBメモリをフォーマットし直そうとした際に、GUIからだと先頭のブートパーティションが削除できなかったのが発端です。 Diskpartで削除する 最初に参考情報としてDiskpartで削除する手順を紹介しま…

PowerShellでDFSの環境を構築する

以前teratailのこちらの質問に回答した際に簡単な検証環境を作ったのですが、その手順を備忘録を兼ねてエントリとして公開します。 teratail.com DFSの基本 本エントリではDFSの基本的なことについては触れません。 以下の記事が参考になりますのでご覧くだ…

Azure Cloud Shell(PowerShell)がLinuxコンテナになりました。

先週の話*1なのですが、以前、 blog.shibata.tech でお伝えした様にWindows Serverコンテナで動作しているAzure Cloud Shell(PowerShell)がLinuxコンテナ上で動作する様になりました。 中の人のツイートがこちら。 #PowerShell in Azure #Cloud #Shell is no…

はてなブログのエントリ一覧をPowerShellで取得する

小ネタです。 blog.shibata.tech で少し触れたはてなブログのエントリ一覧を取得する方法を紹介します。 sitemap.xmlからエントリ一覧を取得する はてなブログに限った話ではなく一般的な話として、SEO対策でクローラー向けにサイトのトップにsitemap.xmlを…

LinuxとmacOSでPowerShell Coreのパッケージ管理方法が変わります

先日公開されたPowerShell Core 6.1.0-preview.3からLinuxとmacOSでパッケージマネージャーを使ったインストールをする際のパッケージ名に変更が入ります。 github.com 安定版とプレビュー版の分離 PowerShell Core 6.1.0-preview.2まではLinuxやmacOSのパッ…

PowerShellとSelenium WebDriver(Chrome)を使ってブログのMixed Contentをチェックする

つい先日、本ブログをホストしているはてなブログが独自ドメインのサイトに対してHTTPS対応したので本ブログをHTTPS化しました。 staff.hatenablog.com 本ブログはこれまで241エントリ公開しており、そこまで数が多くないため、今回は全エントリを目視で確認…

Get-ChildItemの動作に関する問題についての指摘事項

本エントリはブログに書くべきものなのか迷いましたが、文章量が多くなったためここに記します。 また、出題者を責める意図は無いためリンクは張りませんのでご了承ください。 出題された問題 先日Twitter上でPowerShellに関する以下の問題を見かけました。 …

PowerShellの"罠"と呼ばれるモノについて

私は普段ブログのネタ探しのためにいくつかのSNSやフォーラムなどを巡回しているのですが、その際に PowerShellの罠にハマる といった表現をそれなりに目にしてきました。 大抵のツールに初学者にとってハマりやすい"罠"はあると思いますが、PowerShellにも"…

Azure Cloud ShellのPowerShellは起動時に何をしているのか

Azure Cloud ShellでPowerShellを起動した場合、通常のPowerShellの起動とは異なる初期処理が行われAzureドライブ(Azure:\で始まるドライブ)にロケーションが移動された状態で開始されます。 Cloud Shell(PowerShell)起動時 Cloud Shell(Bash)からPowerShell…

「PowerShell実践ガイドブック」という本が発売されます

はい、宣伝です。 TL;DR; ぎたぱそ先生が今月末にPowerShell Core 6.0の本を出版されます。 私もレビュアーとしてお手伝いしたので皆さんぜひ買ってくださいね。 PowerShell実践ガイドブック ~クロスプラットフォーム対応の次世代シェルを徹底解説~作者: 吉…

Azure Cloud Shell内のPowerShellの今後について

元ネタはこちら。 azure.microsoft.com Azure Cloud Shell内のPowerShell Azureポータル内で使えるCloud Shellですが、現在は Bash PowerShell (プレビュー) の二種類選択することができます。 それぞれの実行基盤は Bash : Linux Container (Ubuntu) PowerS…

IISにMDwikiをホストする

小規模でお手軽な、できれば「Markdownで文章書いてアップして終わり」くらいお手軽なWikiサーバーが欲しくなり、いろいろ探してみたところMDwikiが良さそうだったので導入して試してみました。 github.com IISにMDwikiをホストする このMDwikiは基本的には…

Windows 10で利用可能なSSHサーバー、クライアントまとめ

Windows 10ではSSHサーバー、クライアントの機能が使える様になっているのですが、バージョンによって色々違いがあり自分でも混乱してきたのでわかる範囲でまとめました。 必要があれば随時更新します。 Microsoft SSH Server Windows 10 Anniversary Update…

Windows PowerShellとTLS 1.2

昨今のセキュリティ情勢を受けてトランスポート層の暗号化プロトコルにTLS 1.2を強制するサイトが増えてきています。 身近な例としては、GitHubが今年の2月にHTTPS通信においてTLS 1.2以前のプロトコルを廃止しています。 github.blog 本エントリではWindows…

PowerShell Core 6.0の初期セットアップスクリプトを作りました

blog.shibata.tech 前にPSCoreUpdateというPowerShell Coreのアップデートを自動化するモジュールを作ったとお知らせしました。 このエントリ中で、 なお、このモジュールはあくまで更新のためのツールなので最初にPowerShell Core 6.0をインストールするの…

PowerShell Core 6.0をデバッグ実行する - Visual Studio 2017編

前回の続き的な。 blog.shibata.tech 前回の時点では「まだVisual Studio 2017でのビルドはうまく動作しない」と説明しましたが、つい最近Visual Studioで動作させるための修正が完了したので実際に試してみました。 github.com はじめに 基本的なところは前…

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

個人的な不便さからPowerShell Coreのアップデートを自動化するためのモジュールを作りました。 ソースと基本的な使い方はGitHubに上げています。 github.com 作った動機 現在、Windows環境においては一度インストールしたPowerShell Core 6.0のアップデート…

AutomationNullとは何なのか?

ちょっと前のはなしなのですがこちらのGistを読みました。 powershell-gives-you-wrongs.md · GitHub こちらのGistではPowerShellを使う上でハマりがちな罠について詳しく記述されておりPowerShellに対する非常に良い批判となっています。 で、このGistの中…

PowerShell Remoting over SSHを試す - 再び

以前に試した blog.shibata.tech ですが、PowerShell Core 6.0が正式リリースされ当時の内容では正しく動作しなくなっていたので改めてやり直しました。 PowerShell Remoting over SSHとは 従来のPowerShell Remoting Protocol(PSRP)では通信の下回りにHTTP/…

PowerShellの三項演算子について

あまりにも今更なはなしなのですが、根強い需要があるみたいなのでざっくりブログに書いておきます。 PowerShellの三項演算子 はじめに結論を書いておくと、現在、PowerShellに三項演算子はありません。 PowerShell 1.0 ~ PowerShell Core 6.0に至るまでど…

PowerShell Core 6.0 破壊的変更まとめ

公式情報はこちら。 https://github.com/PowerShell/PowerShell/blob/master/docs/BREAKINGCHANGES.md Breaking Changes for PowerShell 6.0 | Microsoft Docs 公式情報では結構説明が端折られており、元になったIssueやPull Requestを読み込まないとわかり…

PowerShell Core 6.0 新機能まとめ

基本的には公式ドキュメントの内容をベースに説明が不足している個所を補足してまとめています。 正確な情報が必要な場合は英語版の公式ドキュメントをあたってください。 公式ドキュメント 英語版 What's New in PowerShell Core 6.0 日本語版 PowerShell C…

VagrantのWinSSH Communicatorを試してみた

www.vagrantup.com Vagrant 1.9.4からWindowsゲストに対してWindowsにポートされたWin32-OpenSSHを使いSSHで通信を行うWinSSH Communicatorが導入されており*1、先日この機能を知り気になったので試してみました。 WinSSH Communicatorは利用者が全然いない…

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で試しています。 基本的な手順は前回と変わらないのですが、前提条件が若干変わったため、その点を補足するかたちで本エントリを書きます。 前提…