しばたテックブログ

気分で書いている技術ブログです。

PowerShell

保護されているパーティションを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の三項演算子について

あまりにも今更なはなしなのですが、根強い需要があるみたいなのでざっくりブログに書いておきます。 【2019/09/20追記】PowerShell 7の三項演算子 本日PowerShell 7 Preview.4がリリースされ、このバージョンの新機能の一つとして三項演算子が導入されまし…

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

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 Core 6.0をデバッグ実行する - Visual Studio Code編

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