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

tech.guitarrapc.cóm

PowerShell Technical Update and Features

VisualStudio の .csproj でビルド構成に依存せずApp.config のConfiguration Transformを行おう

Visual Studio で C#など を書いていると、データベースの接続設定などアプリケーションで利用する値を外部ファイルに外出ししたくなることが多々あります。この時利用するのが アプリケーション構成ファイル App.config です。 方法: C# プロジェクトにアプ…

Azure Web App のカスタムデプロイを使って特定のディレクトリをGithubと同期する

Azure で一番好きなサービスはダントツで Web App です。以前は Azure WebSite と呼ばれていました。やりすぎず、でも必要なことはできる。このバランス感が今でも崩れていないのはすごいです。 さて、Azure は各種SCM からのデプロイをサポートしており、そ…

そろそろ PowerShell の一次配列の罠と回避について一言いっておくか

他の言語同様、PowerShell にも一次配列があります。こんなやつ。 gist.github.com PowerShell は、型を持っているので Object[] 以外にも 型[] などなどあるのですが、他言語から見ると扱いに癖があるように思います。まとまった記事にしたことなかったので…

PackageManagement (aka. OneGet) の プライベートパッケージソースを NuGet Server で立ててみよう

OneGet では、パッケージの取得先のことを パッケージソース (PackageSource)と呼びます。OneGetにはデフォルトで2つのパッケージソース(PackageSource) が入っています。*1 Get-PackageSource Name ProviderName IsTrusted IsRegistered IsValidated Locati…

PackageManagement (aka. OneGet) の利用時の簡単な注意

Windows 10 でデフォルトで入っている PowerShell v5 からは、PackageManagement(以降 OneGet と称しておきます) が利用できるようになっています。*1 OneGetですが、知らないともどかしい気分になることが多いので少し情報を整理しましょう。 なお、ここで…

PowerShell 5.0 で搭載された using namespace シンタックスの概要

PowerShell から .NET クラスを呼び出して操作するときの最大の苦行。それが、クラスの名前空間を毎回毎回書かないといけないことです。 たとえば、List(T) を扱うとこうなります。無駄に使ってみましょう。 gist.github.com ジェネリクスの扱いつらぽよ。 I…

PowerShell ISE のオプションをPowerShell から操作しよう

言いたいことは一つだけです。font はお願いだから Consolas にしてくれ。 ということで簡単なネタを。

PowerShell 5.0 と Windows10 と RTM のリリースについて

Windows Management Framework 5.0 (WMF5.0) の ロードマップが PowerShell Team から公開されました。 Windows Management Framework (WMF) 5.0 Roadmap - Windows PowerShell Blog - Site Home - MSDN Blogs 一方で Windows 10 にはすでに WMF5.0 が載って…

NTFS の ACL (アクセス許可) をPowerShell DSC で制御しよう

Windows において、特定のフォルダのアクセス制御をするのはいくつか手段があります。 原則としては *nux 系と同様、ファイルシステム(NTFS) のアクセス許可 (ACL) を制御するのが楽でしょう。 今回は、NFTS のアクセス許可という刺身タンポポを卒業しようと…

Active Directory の GPO で ExecutionPolicy が設定されているとVS2015 RTM と VS2013 Update 5 において Package Manager Consoleでエラーが出る場合の対処

VS2015 RTM と VS2013 Update 5 がリリースされました。 さて、これらをActiveDirectoryに参加したWindowsで起動すると PackageManagerConsole の起動に失敗する場合があります。今回はこの対処。 Package Manager Console がここで停止するので、一切 Insta…

PowerShell v5 におけるPowerShellGet による Powershell Module の導入はどう変わるのか

久々に書きます。 「PowerShell に新しく関数やCmdletを入れたい。」 こうなった時、基本は Module を導入することになります。しかし v4までは、モジュールパスにファイルを配置する操作が手間で、開発者が WebClientでのダウンロードを提供したり、手動コ…

TopShelf によるWindowsサービスの配置をDSCで自動化してみよう

しばらく C# のみ触っており その中で LightNode + TopShelf を使ったセルフホストな Windows サービスを構築していました。 運用を自動化するために、CIでビルドした生成物を、どうやって本番にデプロイするのかが懸念となります。これを行うために 久々にD…

Windows Management Framework 5.0 Preview April 2015 がリリースされました

Windows Management Framework 5.0 は、PowerShell を コアとした機能です。ようは、PowerShell v5 と思ってもらえれば簡単ぽん? 今回のリリースは、これまでよりも確定した機能が多くいよいよ先がみえてきたのでさくっと見ておきましょう。

OneGet が PackageManagement に名称変更となります

ふと PR の通知を見ていると、OneGet が PackageManagement になるとのこと。 Merge WIP to Master by fearthecowboy · Pull Request #123 · OneGet/onegetgithub.com 作者の @fearthecowboy は 2015/3/24 時点でこれに触れています。 Nearly done my great …

PowerShell へのフィードバックは Microsoft Connect へ

Microsoft製品に関するフィードバックは、User Voice だったり Connect だったりいろいろありますね。 今回、PowerShell チームから公式にフィードバック先に関して記事があがったので確認しておきましょう。 Community Feedback and Microsoft Connect - Wi…

PowerShell Team の GitHub リポジトリへの開発移行 と DSC Res Kit の公開

久々に記事を書きます。 Microsoft は GitHub にて多くの製品を公開しています。中には CodePlex などから移行した Roslyn から、公開されてなかった MSBuild、そして DNX や ASP.NET まで。すごくうれしいですよね。そしてとても助かります。 github.com gi…

PowerShell も Windows Store Apps 同様に Windows.Security.Credentials namespace を使って認証情報を管理できるようにしてみる

以前、P/Invoke して Windows Credential Manager で PowerShell の認証情報を格納したり取得する簡単なモジュールを紹介しました。 実際これは、valentia を初めとして、認証を必要とするモジュールで使っています。 もっといい方法ないかなぁと、Windows S…

PowerShell で 関数実行結果の型をパイプラインの先に伝搬する

PowerShell といえば、型です。 文字列じゃなくて型。ということは、インテリセンスが何を使えるか教えてくれるわけです。インテリセンス使えないと辛いですよね。 自作の関数を作ったことがある人は多いと思います。でも、作った関数の出力結果がパイプライ…

PowerShell のString評価の方法と罠

以前 Gist にまとめていたんですが、記事にするのを忘れていたのです。 PowerShell は、文字列の中に変数を埋め込む時にいくつかの手法があります。でもその評価の違いって以外と知られてないようなので、まとめておきましょう。

PowerShell で オブジェクトの数を計測するんです?

オブジェクトの数を数える時によく使われるものといえば? Measure-Object でしょうか? System.Linq.Enumerable でしょうか? 今回はさらっとちょっとだけ見てみましょう。

PowerShell でTCP遅延Ack 設定を操作する

ネットワークチューニングの 1ついえば、TCP遅延ACK や Nagle ですね。 TCP遅延ACK - Wikipedia Windows ではどちらの設定も「レジストリを操作して再起動する」ことで調整可能です。 じゃぁ実際どうやって操作するか?TCP遅延Ackを操作するサンプルを紹介し…

Html Agility Pack と SgmlReader を使って PowerShell でスクレイピングしてみる

WebページのスクレイピングをPowerShell 単独でやるのはあまり楽しくありません。 が、C# で用いるように Html Agility Pack や SGMLReader を使えば楽に触れます。 今回は、 某ブログをこれらを使って少し見てみましょう。

PowerShell で System.Diagnostic.Process にて BeginOutputReadLine() を使う

PowerShell の罠Cmdlet といえば Start-Process ですね。 ほんとアレ罠。きらい。大っ嫌いです。 で、代わりに何を使うかっていうと、System.Diagnostic.Process クラスです。ふつーに C# で書くのと同じように挙動が想定通りなので安心です。 Process クラ…

CI を 用いない 自動Pullをしたくて PowerShell でCIする

なにか作ったので公開しておきましょう。

PowerShell DSC Advent Calendar 2014 : Day 13 PUSH と PULL の切り替え と MOF構成

これは、PowerShell DSC Advent Calendar 2014 - Adventar 13日目の記事です。 時空の歪みが観測でき(略 PUSH 飽きたので(おぅ、PULL にしましょう。というのは冗談ですが、実際PUSHで伝えることは伝えたのでもうありません。次はPULLです。

PowerShell DSC Advent Calendar 2014 : Day 12 あるべき状態と現在の差異を確認する

これは、PowerShell DSC Advent Calendar 2014 - Adventar 12日目の記事です。 時空の歪みが観測できてます? 今日は対象ノードをあるべき状態に収束させたことを確認してみましょう。

PowerShell で SelectManyもどきが欲しい

PowerShell では、IEnumerable[] は相性悪いわけですが、シーケンスを平坦にしたいものはしたく。 PowerShell の 標準出力の配列は展開される 特性を使うと、あたかもForeach-Objectが平坦化してるように見えますがびみょーんです。 なので、Zipに続き Selec…

PowerShell DSC Advent Calendar 2014 : Day 11 Configurationに記述したパスワードの暗号化

これは、PowerShell DSC Advent Calendar 2014 - Adventar 11日目の記事です。 時空のゆがみ。 さて、前回まででシンプルなコンフィグレーションをプッシュで反映させる方法を見てきました。 今回は、センシティブな情報。そう、パスワードをどうやってリモ…

PowerShell DSC Advent Calendar 2014 : Day 10 Push であるべき状態へ収束させる

これは、PowerShell DSC Advent Calendar 2014 - Adventar 10日目の記事です。 ん?時差が?気のせいです。 今日は対象ノードをあるべき状態に収束させる方法として PUSHモードを使います。

PowerShell DSC Advent Calendar 2014 : Day 9 Resourceの配置

これは、PowerShell DSC Advent Calendar 2014 - Adventar 9日目の記事です。 さて、9日目ったら9日目です。 今日はリソース(Resource) の配置です。標準のリソース以外の操作をしたくなったらこれですね!では見てみましょう。

PowerShell DSC Advent Calendar 2014 : Day 8 ConfigurationData を使ったロールや属性の指定

これは、PowerShell DSC Advent Calendar 2014 - Adventar 8日目の記事です。 7日目は、MOFファイルの生成について説明しました。コンフィグレーションの実行でMOFファイルがコンパイルされる。はい簡単です。 8日目の今日は、コンフィグレーションの実行時…

PowerShell DSC Advent Calendar 2014 : Day 7 MOFファイル の生成

これは、PowerShell DSC Advent Calendar 2014 - Adventar 7日目の記事です。 6日目は、コンフィグレーションの記述について説明しました。ベストプラクティスから現状のコンフィグレーションの問題、v5での改善点など多岐にわたっています。 今日は書いたコ…

PowerShell DSC Advent Calendar 2014 : Day 6 Configuration の記述

これは、PowerShell DSC Advent Calendar 2014 - Adventar 6日目の記事です。 5日目は、DSC のエンジンである LCM(Local Configuration Manager) について説明しました。 今日は、コンフィグレーション(Configuration)構文と記述について見ていきましょう。…

PowerShell DSC Advent Calendar 2014 : Day 5 Local Configuration Manager(LCM)というDSC のエンジン

これは、PowerShell DSC Advent Calendar 2014 - Adventar 5日目の記事です。 4日目は、DSC の2つのモード PUSH、PULL と利用シーンを説明しました。 今日はDSCのエンジンについてずらっとみてみましょう。シンプルですが大事な機能なので抑えておきましょう…

PowerShell DSC Advent Calendar 2014 : Day 4 Pull と Push

これは、PowerShell DSC Advent Calendar 2014 - Adventar 4日目の記事です。 3日目に、DSC の用語をChefと照らし合わせながら説明しました。 Chef が、CM ツールとして備える基本的な機能を DSC も備えていることが何となく見えましたか? さて4日目は、当…

PowerShell DSC Advent Calendar 2014 : Day 3 Chef と PowerShell DSC のこれまでと用語まとめ

これは、PowerShell DSC Advent Calendar 2014 - Adventar 3日目の記事です。 1日目、2日目を通して、DSC や CMツールがなぜ必要なのかその意義について説明しました。頑張らなくてもできるけど、めんどくさいことを任せられるっていうのは IaaS -> PaaS -> …

PowerShell DSC Advent Calendar 2014 : Day 2 なぜ Configuration Management が必要なのか

これは、PowerShell DSC Advent Calendar 2014 - Adventar 2日目の記事です。 1日目は、以下の2点を説明しました。 DSC は データセンターのあらゆる機器の Configuration Management(CM => 構成管理) Platform となることを志向していること *1 ただ構成管…

PowerShell DSC Advent Calendar 2014 : Day 1 PowerShell DSC とは何か。

これは、PowerShell DSC Advent Calendar 2014 - Adventar 1日目の記事です。 2013年10月に公開された PowerShell DSC ですが、 Azure を中心に Windows プラットフォームで静かに、しかし着実に実績を残しつつあります。 初日は、PowerShell DSC についてさ…

PowerShell v3 でも ファイルのハッシュ値 (File hash) を確認したい

ファイルの変更を検知する時に一般的に行われるのが ハッシュ値の比較です。ファイルの変更検知はすなわち改ざんがないか、ファイルが更新されてないかなど、あいまいではない変化の検知を意味するのでこういうのって大事です。*1 日付やファイル名での判断…

PowerShell Desired State Configuration for DevOps and ALM practitioners の公開とConfig as Code

先日、Visual Studio ALM Rangers から、表題のガイダンスが公開されました。 ALM Rangers DevOps Tooling and Guidance - Download: v1.3 - PowerShell DSC for DevOps Guidance Microsoft を含む ALM Rangers が公開したこの資料は、Windows において Powe…

第4回PowerShell 勉強会資料の公開 PowerShell - When

先日、2014/Oct/12 に大阪で行われた 第4回PowerShell勉強会では、開発のシーンをターゲットにして PowerShell っていつ使うのかを考えてみました。 第 4 回 PowerShell 勉強会 - Japan PowerShell User Group (JPPOSH) | Doorkeeper 今回、資料公開のご紹介…

第3回PowerShell 勉強会の資料公開 Dive into PowerShell DSC PULL

ということで、今更....!やっと公開しました:) 前回、2014/July/12 に東京で行われた第3回PowerShell勉強会では、第2回で行ったPUSHに続いて 「PowerShell DSC PULL」について紹介しました。 第 3 回 PowerShell 勉強会 - Japan PowerShell User Group (JPPO…

Windows 10 Tech Preview における PowerShell をみてみよう

はい。みます。

PowerShell Script の エディタ と Visual Studio

PowerShellスクリプトを書く時のエディタには、いくつか人気のものがあります。 PowerShell ISE Visual Studio PoweGUI PowerShell Plus や いくつか他にも利用者がいるものはあるのですが、いずれも完成度が上記より低い印象が強いため、3つに絞っています…

Disposable にする時に考慮するべきこと

先日 neuecc と話していて「サーバーをDisposableにする時って何が問題になるの?」 といわれたので、その時に答えた内容を備忘録も兼ねて。

PowerShellのパイプライン遊び

Hey, Script Guy! Blog にある記事があります。 簡単にいうと、こういうことが PowerShell のワンライナーでできるよー。というものです。 Fun with the number one in #PowerShell: 1..8 | ForEach {$n="1" * $_;"{0,9} x {0,9} = {1}" -f $n, ("$n * $n" |…

PowerShell DSC Resource の公開

謎社では C# を中心として、PowerShell が隙間産業的に必要なところで使われています。 その一つが PowerShell Desired State Configuration (DSC) です。 今回、謎社で作成/利用している一部の DSC Resource を公開しました。

PowerShell v5 の新機能紹介 - PowerShell で Class構文が利用可能になります

今回も前回に続き PowerShell v5 をコアとする Windows Management Framework 5.0 Preview September 2014 (v5.0) の機能詳細を触りつつ、何が変わるのかお伝えできればと思います。 Develop with classes in Windows PowerShell ついにクラスが PowerShell …

PowerShell Team から Hardware-Management-Module がOpen Source として公開されました

さて、WMF v5 Preview September の話題ばかりでは楽しくない(?) ので、少し別の話題を。 PowerShell Team は、日本ではそれほど活発ではないかもしれませんが、結構コミュニティと密接にかかわっています。有名どころでは、PowerShell.Org や OneGet でしょ…

PowerShell v5 の新機能紹介 - Zipファイルの操作が可能に

今回も前回に続き PowerShell v5 をコアとする Windows Management Framework 5.0 Preview September 2014 (v5.0) の機能詳細を触りつつ、何が変わるのかお伝えできればと思います。 Manage .ZIP files with new cmdlets つまり、 Zip ファイルが標準で扱え…