tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud, Serverless Technical Update and Features

PowerShell

Windows の TimeZone 設定をコマンドラインから行う

Windows の TimeZone 設定といえば コマンドプロンプト以外にも PowerShell や .NETでもできます。 Windows 10 でどのようなやり方があるのか軽く見てみましょう。

第24回◯◯o◯裏番組シェル芸勉強会 を PowerShell と C# でやってみる #シェル芸

久々のシェル芸です。 Bsh on Ubuntu on Windows でやろうと思ったのですが、手元の環境が入らないのでそっとじ... 今回は途中で飽きるまでということで、やってみました。

Windows 資格情報マネージャーをPowerShell DSC で構成管理するリソースを公開しました

PowerShell DSC は PowerShell が目指してきた姿の一つの目標であり、強力な技術基盤です。 PowerShell は DSC を提供にするにあたり、OMI の実装を WMI から クロスプラットフォームな CIMに移してきました。実際 Linux で PowerShell DSC を利用する Power…

PowerShell 5.0 (WMF5) における PULL Server 構築時のPSDesiredStateConfiguration_1.0 問題

最新情報 2016/8/6 WMF5.1 Preview で本件が修正されました。Windows 10 Anniversary Update から確認ができます。 WMF5 においては、ワークアラウンドを利用するしかないのでご注意ください。 以前の状況 WMF5 がリリースされて数か月たちました。そろそろ…

PowerShell DSC の xTimeZone リソースにPR がマージされたお話し

過去にもいくつかの PowerShell DSC リポジトリでやりとりをやっているのですが、先日 xTimeZone にあった結構困ったバグ修正のPRをおくったところマージされました。 日本語はもろに影響を受けるので良かったよかった、とともに軽くメモに残しておきます。 …

PowerShell の Set-ExecutionPolicy 設定時のスコープ対処

PowerShell をシェルとして利用するときに誰もが一度はひっかかるのが ExecutionPolicy です。 今回は、Set-ExecutionPolicy RemoteSignedをしようとしたら、以下の警告が出た場合の対処です。 ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetEx…

PowerShellGet の PSGallery が消えた場合の対処

PowerShellGet のデフォルトのPSRepository は、PowerShell Gallery です。 PowerShell Gallery | Home デフォルトなので、何もせずとも設定されているのですが、過去に2回設定が消えたことがあります。原因がいまいちつかめていないので、復旧方法のメモだ…

PowerShell でディスクの初期化からフォーマットを行う

Windows のディスクを管理したいとき、古の時代から diskpart コマンドがあります。 DiskPart のコマンド ライン オプション www.atmarkit.co.jp しかし現在これらのdiskpart 操作をを使うことはありません。PowerShell でより高度、安全に操作できるからで…

AWS Windows 自動化ラウンドテーブルのセッション資料公開

2016/5/13 に、アマゾン ウェブ サービス(AWS) 様主催で、AWS で Windows を扱っている方を集めてのクローズドなラウンドテーブルの第一回が開催されました。 私も、AWS Solution Architect の@keisuke69さんにお誘いいただき登壇させていただきました。今回…

Remote Desktop Web Access の Remote Apps が重複する問題の対処

Remote Desktop Service (リモートデスクトップサービス) には、RD Web Access (RD Web アクセス) と RD Session Host (RD セッションホスト)呼ばれる機能があります。 リモート デスクトップ Web アクセス (RD Web アクセス) リモート デスクトップ セッシ…

Windows Management Framework 5.0 RTM (PowerShell 5.0 RTM) が再リリースされました

おかえりなさい。 ということで、リリースされて一週間で撤収された WMF 5.0 (PowerShell 5.0) RTM でしたが、ようやくバグ修正が終わり再リリースされました。 Download Windows Management Framework 5.0 from Official Microsoft Download Center

WMF 5.0 (PowerShell 5.0) の再リリース予定が発表されました

WMF 5.0 (PowerShell 5.0) は、2015/12/16 にリリースされてから、12/23 に PSModulePath 上書きをはじめとするバグがあったことで回収されてました。 長らく再リリース日が未確定でしたが、本日リリース予定日として 2016年2月末日が予告されました。 blogs…

WeatherHacks を触ってみる

Twitter を眺めていると面白そうなのをみつけたので、自分ならどう書くか考えてました。 C#で気象情報REST API(WeatherHacks)を使ってみる1e3)g=1e3;else if(200>~~g)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("…

Event Tracing for Windows (ETW) の トレースプロバイダーリストを取得してみる

ネットワークキャプチャといえば、Wireshark や Microsoft Message Analyzer が定番です。今回、USB や Bluetooth のキャプチャもできることを教わりました。 USBなど の通信ログは ETW (Event Tracing for Windows) に流れてくるのでEtwStreamでログをキャ…

パイプラインの処理を途中で打ち切る方法のPowerShell版

PowerShell の最大の特徴と言われた時に、おそらく掲げるべきはパイプラインだと思います。 それが、cmd や Linux/Unix シェルにおけるパイプラインと異なる挙動だったり、オブジェクトを伝搬するという性質も含めて良くも悪くも PowerShell を PowerShell …

PowerShell Cmdlet を人道的に使いたいから頑張ってみるお話

この記事は、PowerShell Advent Calendar 2015 最終日の記事です。 atnd.org 最近はもっぱら C# を使っており、PowerShell も Cmdlet を書いてたりしてスクリプトあまり書いていません。*1 しかしながら、Cmdlet はただ読み込むならともかく、継続的デプロイ…

Windows Management Framework 5.0 RTM (PowerShell 5.0 RTM) がリリースされました

2015/12/24 追記 WMF 5.0 RTM のインストールによって、環境変数の PSModulePath がデフォルト設定にリセットされるバグが見つかったため、現在ダウンロードセンターから外されています。 修正が確認できしだい再度公開される予定とのことですので、少しお待…

PowerShell v5 の ConvertFrom-Json では改行を含めたJSONが解釈可能に

PowerShell ではCmdletを介して JSON の利用ができます。型に当てずに解釈できるので、さくっと使うには本当に強力です。この点に関しては、jq や Json.Net などより触りやすいと思います。 さて、過去にも PowerShell での JSON の操作について説明してきま…

Register-ObjectEvent を .Dispose() すると PowerShell.exe が Unhandled Error で終了するのを回避する

PowerShell を使っていると、突然の PowerShell.exe の死にあうことがあります。 今回は、Register-ObjectEvent の Dispose に関してです。

FormatMarkdown に見るPowerShellで避けたほうがいい配列処理

PowerShell をやってて、だれもが一度は作る Format-MarkDown。 自分で作ったのはもってたのですが、人の作ったのを見る機会があったのでソースをみていました。 www.powershellgallery.com このソース、配列を扱うにあたって PowerShell でやらないほうがい…

はじめようWindows PowerShell [Kindle版] を読んでみた

Twitter を眺めていると、SQL と Azure のこわい人が気になることをおっしゃっていました。 電子書籍読んでたら、突然のぎたぱそせんせーのブログ— Masayuki Ozawa (@Masayuki_Ozawa) November 19, 2015 @guitarrapc_tech https://t.co/nug0ZMudw5 を読んで…

.NET Framework を PowerShell DSC でインストール自動化

Connect での .NET Framework Core の RC に感化されたわけではないのです。が、.NET Framework 4.6.1 RC1 が先月でています。 blogs.msdn.com それも受けて、.NET Framework のインストールを自動化しようと思ったのですが、公式、コミュニティともに既存の…

VS Code での PowerShell サポートが強化されました

Microsoft Connect (); // 2015 Developer Event Set for November 18-19 が現在開催されています。 channel9.msdn.com この中で Visual Studio Code (VS Code) の機能強化が発表され、PowerShell のデバッグ、インテリセンスサポートが追加されました。 今…

PackageMangement (a.k.a OneGet) の PowerShell 3.0 - 4.0 スタンドアローンインストール版について

PackageManagemtn(以下 OneGet) は、PowerShell 5.0 が含まれる WMF 5.0 (現在は ProductionPreview) で利用できました。つまり、Windows 10 以前の 7 SP1 / 8.1 では、WMF 5.0 を入れないとだめでした。 が、ようやく PowerShell 3.0 (WMF 3.0) と 4.0 (WMF…

#ComuPlus Comm Tech Festival 2015 のセッション資料公開

@ufcpp さんにお話しをいただいて Comm Tech Festival に参加してきました。 comuplus.doorkeeper.jp セッション資料をここで公開します。

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です。