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

素敵なおひげですね

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で見るとこんな感…

はてなから"シンタックス・ハイライト機能で対応してほしい言語"を聞かれたのでPowerShellを追加してください。お願いします。

お題「シンタックス・ハイライト機能で対応してほしい言語」 developer.hatenastaff.com 何でもはしませんけど何卒よろしくお願いします。 PowerShell 1.0のリリースから今年で10周年とキリもよいので何卒よろしくお願いします。 【2016/07/01追記】 対応し…

PowerShellの多値返却と多重代入について

cloudpackさんのこの記事とその元記事を見て、以前にも同じようなブログだったかTwitterのツイートを見たのを思い出して結構誤解されてるんだなぁと思ったのでこのエントリを書きます。 blog.cloudpack.jp inokara.hateblo.jp PowerShellの多値返却 まず、Po…

CLR/H #clrh99 ~サクラサク~ でPowerShellについて話してきました

先日行われたCLR/H #clrh99 ~サクラサク~で久しぶりに勉強会で登壇しました。 clrh.connpass.com 勉強会について 登壇した時間以外は受付か懇親会の手配をしていたので他のセッションは全然見れませんでした...スイマセン いつも通りえんぷらさんがTogetterにま…

第6回 PowerShell 勉強会に参加しました

以前からPowerShell勉強会に行ってみたいと思いつつも機会に恵まれなったのですが、今回やっと参加することができました。 jpposh.doorkeeper.jp LTしてきました "PowerShell"を学ぶ方法 from 素敵な おひげ www.slideshare.net 「"PowerShell"を学ぶ方法」…

PowerShellでNICチーミング(NetLBFO)を操作する

Windows ServerでNICチーミングを利用することがあったので調べた結果をブログにまとめます。 検証環境はWindows Server 2012 R2ですがWindows Server 2012でも同様だと思います。 NICチーミング(NetLBFO)の基本 NICチーミング(NetLBFO)の基本的な話は以下の…

powershell.exe -Commandパラメーターの謎挙動について (解決編)

stknohg.hatenablog.jp 前のエントリの謎挙動についてですが、やっと何が起きてるかわかったので追記エントリを書きます。 解決のヒント 解決のヒントは以下の記事にありました。 Escaping in PowerShell この記事ではPowerShellからADSIの機能を呼び出した…

powershell.exe -Commandパラメーターの謎挙動について

【2016/03/30追記】 謎挙動の原因がわかりましたので追記エントリを書きました。 stknohg.hatenablog.jp こちらも併せてご覧ください。 きっかけはQiitaのこのエントリ。 qiita.com 対応方法を調べてコメントする際に謎挙動に気が付きました。 何が謎挙動な…

Write-Outputとはいったい何なのか?

以前に書いた stknohg.hatenablog.jp に対するさらなる補足です。 本当はもう少し早い時期に書きたかったのですがなかなか書けずにおりました... 別にWrite-Outputを使わなくても... 先のエントリで触れた様にWrite-Outputは 説明 Write-Output は、"出力ス…

Get-DateはGet-DateであってNew-Dateではないお話し

最近ブログを書く気力が薄れてしまっているので軽いネタでリハビリします。 小ネタがいくつかたまっているので何とか消化したいですね... New-Object System.Datetime と Get-Date の違い 先ずはこちらのコードをご覧ください。 PS C:\> $Date1 = New-Object…

PowerShellでwttr.inを表示してみる

はじめに 先日Twitterのタイムラインを見ててwttr.inというcurlコマンドで各地の天気予報が見れるwebサービスがあることを知りました。 以下の図はcygwin上のcurlコマンドでの実行例ですが、こんな感じで各地域の天気を知ることが出来ます。 地味に便利なweb…

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

PowerShellで気軽に乱数を生成できるGet-Randomコマンドレットですが、乱数生成に使われるアルゴリズムについては一切ドキュメント化されていません。 とりあえずで使う分には問題ないでしょうが真面目に乱数を扱う場合にアルゴリズムが不明なのは致命的だと…

昇格したPowerShellコンソールおよびPowerShell ISEを起動させるファンクションを書きました

PowerShellでもsuコマンド的なものが欲しかったので。 タスクバーを右クリックして「管理者として実行する」「ISE を管理者として実行する」と同じことをコマンドでもしたかったのです。 昇格したPowerShellコンソールとPowerShell ISEを起動させるファンク…

Write-HostとWrite-Outputの表示の違い

前回のエントリの補足です。 stknohg.hatenablog.jp 前回はWrite-HostとWrite-Outputの違いについて触れ、全くの別物であることを説明しました。 別物であるとはいえ、実際の利用においては両方ともコンソールに文字列を表示する用途で同様に扱うことが多い…

Write-HostとWrite-Outputの違い

新年一発目のエントリなのでPowerShellの基本的なことについて書きます。 PowerShellの基本的なことがわかってなかったシリーズ第8弾でもあります。 このエントリを書く動機 Google等でWrite-Host Write-Output 違いなワードで検索すると非常にアレな感じだ…

Vagrant 1.8.0で追加されたvagrant powershellコマンドについて

先日Vagrant 1.8.0がリリースされたのでサクッと手元の環境を更新しました。 本エントリではVagrant 1.8.0で追加された新機能のうち、vagrant powershellコマンドについて詳しく触れていきたいと思います。 Vagrant 1.8.0の新機能について Vagrant 1.8 - Has…

PowerShellでレジストリ操作する小ネタ

メモがてらの小ネタ集です。 HKEY_LOCAL_MACHINE、HKEY_CURRENT_USER以外のキーを扱う デフォルトの状態ではPowerShellから扱えるレジストリキー(PSDrive)はHKEY_LOCAL_MACHINEとHKEY_CURRENT_USERの2つだけです。 Get-PSDriveでレジストリプロバイダーを確…

PowerShellで使うと便利…かもしれないVB.NETの機能

本エントリはVisual Basic Advent Calendar 2015 11日目、兼、PowerShell Advent Calendar 2015 11日目の記事になります。 qiita.com atnd.org 何とかVB.NETのネタがないか無理やり考えたらこんなエントリを思いついてしまいました。 本当に便利になるかは保…

コマンドレットを使う時に知っておくとちょっとだけ便利なこと

PowerShell Advent Calendar 2015 6日目の記事です。 atnd.org 小ネタです。 たいしたことではないですが地味に便利です。 コマンドレットを使う時に知っておくとちょっとだけ便利なこと Microsoftから標準で提供されるコマンドレットは原則-Nameや-Pathパラ…

WindowsでFabricで遊ぶ - 再び

以前に、 stknohg.hatenablog.jp なんて記事を書いたのですが、ちょっと前にMicrosof公式のSSHDが発表されたので、freeSSHdで試していた部分をOpenSSHに変えて遊びなおしてみました。 github.com WindowsにFabricをインストールする 前回同様Windows 8.1にFa…

PowerShellの演算子一覧

PowerShell Advent Calendar 2015 3日目の記事です。 基本的にはabout_OperatorsやPowerShellの言語仕様書(PowerShell 2.0、PowerShell 3.0)を見ればわかる話なのですが、一覧で参照したかったのと、PowerShellには一見演算子に見えない特殊な演算子が結構あ…

大量のファイルをPowerShellのコマンドで一括リネームする

クラスメソッドさんのこのエントリが人気を博してるので人気にあやかるためにPowerShellで同じことをしてみました。 dev.classmethod.jp 前提 動作はPowerShell 4.0な環境で確かめてますが他のバージョンでも動くはずです。 今回は適当なディレクトリC:\Temp…

Set-StrictModeについてちょっとだけ詳しく説明してみる

PowerShellの基本的なことがわかってなかったシリーズ第7弾です。 基本的にはヘルプを見ればわかる話ですが、ヘルプではわかりにくかった部分があったので補足する形でこのエントリを書きます。 Set-StrictModeについて Get-Help Set-StrictMode -Fullでこの…

PowerShellのCountプロパティについてあれやこれや

PowerShellの基本的なことがわかってなかったシリーズ第6弾です。 便利なCountプロパティ コマンドを実行して出力した結果の件数を取得したい場合、([コマンド]).Countとするとその件数を取得することができます。 たとえば以下の様にコマンドを実行するとC:…

PowerShell 3~4向けのPackage Management Preview for PowerShellが出たので試してみた

Package Management Preview for PowerShell 4 & 3 is now availableの記事にある通り、PowerShell 3-4向けのPackage Management(Preview版)が出てたので試してみました。 PackageManagement自体はWindows 10で既にリリースされており、ぎたぱそ先生の tech.…

PowerShell ISEとPowerShellコンソール(powershell.exe)の違い

本エントリは、 Differences between the ISE and PowerShell console - Windows PowerShell Blog - Site Home - MSDN Blogs の内容をまるっと翻訳というか要約というかした感じの内容です。 古い情報もあったのでその辺は更新しています。 中の人が誰かWind…

Out-Host -Pagingについてのちょっとした話し

ちょっと今Out-Defaultの内部動作について調べてて、その最中に気が付いたことについてのメモになります。 Out-Hostの-Pagingパラメーター Out-Hostコマンドレットの-Pagingパラメーターを使うと以下の様に1ページ、または1行ずつコンソールの表示を進めてく…

All Windows Serverな環境でOracle Real Application Clusters(RAC)を構築してみる - 2.Storage構築編

本シリーズの概要と一覧はこちらからどうぞ。 前回に続いてストレージ(iSCSI)を構築します。 本エントリではWindows ServerをiSCSIターゲットにします。 また、RAC Node側の手順ですが、iSCSIイニシエーターの設定も本エントリで触れることにします。 初期設…

All Windows Serverな環境でOracle Real Application Clusters(RAC)を構築してみる - 1.AD構築編

本シリーズの概要と一覧はこちらからどうぞ。 RACを構築するにあたり、最初にドメイン環境を作成します。 RACではActive Directoryは必須ではありませんが、SCANなどの名前解決のためにDNSが必要であったり、ワークグループ環境だとインストールユーザーやOr…

Connect-IscsiTargetの罠

どう考えても需要ゼロな話しなのですが、しょーもない罠に引っかかって小一時間無駄にしたので愚痴を書きます。 Connect-IscsiTargetの罠 罠が見つかった環境はWindows Server 2012 R2です。ほかのバージョンで発生するかは未確認です。 iSCSI Cmdletsにある…

(個人用メモ)ドメインを作ったり昇格させたり降格させたりするスクリプト

何気に検証環境で作り捨てのActive Directory環境を作成する事が多いのでGistにメモ。 基本的にはServer Managerのウィザードが生成するスクリプトにちょっとだけ手を入れたものです。 ちなみに環境はWindows Server 2012 R2です。 GUIでドメインを作る手順…

(IT管理者向け)Wi-Fiセンサーをいろいろな方法で殺す

最初に言っておきます。私はこのWi-Fiセンサーが最高に嫌いです。 まだ実害を被ってはいないもののIT管理者的な立場からするとこの機能に対しては恨み言しか出ません。 なので本エントリでは色々な方法でこの機能を殺すための方法を紹介しようと思います。 W…

Out-Stringを使ってSelect-Stringをより便利に使う

前回のエントリの補足的な感じです。 stknohg.hatenablog.jp コンソールに出力される文字列はSelect-Stringの検索対象になるとは限らない 前回のエントリで書いた様にSelect-Stringは入力されたオブジェクトをString型に変換した文字列を検索します。 ここで…

Select-Stringは具体的に何を検索しているのか?

PowerShellの基本的なことがわかってなかったシリーズ第5弾です。 PowerShell版のGrepともいえるSelect-Stringコマンドレットですが、ヘルプには、 文字列とファイル内のテキストを検索します。 としか記載されていません。 PowerShellでは基本オブジェクト…

Windows10で暗いテーマカラーを使用するか否かを設定するファンクション書きました

この記事を見てサクッとPowerShellのファンクションを作りました。 ダークなテーマは格好良いですね。 【やじうまPC Watch】Windows 10の配色を“クールなブラック”にする方法 〜ストアや設定がホワイトからブラックに - PC Watchpc.watch.impress.co.jp Wind…

PowerShellの比較演算子についてあれやこれや

PowerShellの基本的なことがわかってなかったシリーズ第四弾です。 比較演算子についてあれやこれやと書いていきます。 とはいえ半分くらいは愚痴かも... 基本的には-eq演算子について触れますが他の演算子も大体同様なはず。 1.文字列の比較がデフォルトでI…

PowerShellにおける"戻り値"と"Return"について

PowerShellの基本的なことがわかってなかったシリーズ第三弾です。 内容としては、牟田口さんのブログの winscript.jp で書かれていることそのまんまです。 なので詳しいことを知りたい方はそちらをご覧いただければ十分かと思います。 今回わざわざパクリエ…

PowerShellのError output streamは標準エラー出力から何を受け取っているのか?

前のエントリたちのさらに続き。これで最後です。 PowerShellのストリームと標準入出力、リダイレクトとパイプラインの話 - 素敵なおひげですねstknohg.hatenablog.jp PowerShellのパイプラインは外部プロセスに何を渡しているのか? - 素敵なおひげですねst…

PowerShellのStandard output streamは標準出力から何を受け取っているのか?

前のエントリたちのさらに続き。 PowerShellのストリームと標準入出力、リダイレクトとパイプラインの話 - 素敵なおひげですねstknohg.hatenablog.jp PowerShellのパイプラインは外部プロセスに何を渡しているのか? - 素敵なおひげですねstknohg.hatenablog…

PowerShellのパイプラインは外部プロセスに何を渡しているのか?

前のエントリの続き的な。 PowerShellのストリームと標準入出力、リダイレクトとパイプラインの話 - 素敵なおひげですねstknohg.hatenablog.jp PowerShellが外部のプロセスにパイプラインでデータを渡す際は、 コンソールに出力される文字列を$OutputEncodin…

PowerShellのストリームと標準入出力、リダイレクトとパイプラインの話

PowerShellの基本的なところがわかってなかったシリーズ第二弾です。 一部わからないままの部分がありますのでご存知の方いらっしゃいましたらご指摘ください。 最初にまとめ 今回のエントリの内容をまとめて図に表すと以下の様な感じになります。 ちょっと…

Get-Commandをちょっとラップしたやつ書いた

PowerShellでもwhichコマンドを使いたかったので。 PowerShellでのwhich PowerShellでwhichコマンドの代わりに使えるのはGet-Commandコマンドレットですが、こいつの戻り値はSystem.Management.Automation.CommandInfoクラスの派生クラスである System.Manag…

PowerShellでハードディスクのPHYSICALDRIVE番号などを調べる方法

こちらの記事をみて便利だったのでPowerShellで書き直してみました。 WindowsでハードディスクのPHYSICALDRIVE番号などを調べる方法 - Eiji James Yoshidaの記録d.hatena.ne.jp Get-WmiObject(gwmi)を使ってWin32_DiskDriveクラスの情報を取っているだけです…

PowerShellのロケーションについて

PowerShellの基本的なところがわかってなかった恥を晒すエントリです。 本エントリの内容はWindows 8.1上で動作させ確認しています。 [2015/05/11追記] 内容に間違いがあったので修正。 さらに恥を晒すことになってしまいました。 はじめに PowerShellを起動…

HTTPで時刻同期を行う方法について

基本的にNTPでやれよって話なんですが、NTPでインターネットに出れない環境なんかがあったりしてどうにかならんかと調べてたところ、NICTでWEBサービスとして日本標準時を取得できる様にしてくれてるのを知ったので、これを取得してシステムの現在時刻を更新…

PowerShellでipcalcっぽいことをするスクリプトを書いてみた

「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド なんかこの記事がはてブで大人気だったので。 .NETやPowerShellでipcalcするのは既に先人が結構いて、スクリプトセンターにもコードが上がってたりするんですけど、自分の欲しい…

WindowsでVagrantを扱う私的まとめ (Windows OSのBox作成編 Part.1)

前回に引き続き、今回はWindows OSのBoxファイルを自分で作る手順について説明します。 参考にしたサイト 本エントリの内容は以下のサイトの手順を参考にしています。 Creating a Base Box - Vagrant by HashiCorp GitHub - WinRb/vagrant-windows Vagrantで…