tech.guitarrapc.cóm

Technical updates

DSC の検索結果:

GitHub Actions でスパースチェックアウトを使ってモノレポの一部だけをチェックアウトする

…ckouts by dscho · Pull Request #1369 · actions/checkout スパースチェックアウトでチェックアウトするパスを指定する スパースチェックアウトを使うには、sparse-checkoutにチェックアウトするパスを列挙します。 例えばsrcディレクトリだけをチェックアウトする場合は次のようになります。 name: git sparse-checkout on: pull_request: branches: ["main"] jo…

Windows開発環境の構築をChocolateyからscoopに切り替える

…たのか 2014年にDSCを自動化しようとしていることから、Chocolateyとは5年の付き合いです。2018年までは個人、会社の開発環境構築にChocolatey を使っていました。 Weekend Scripter: PowerShell and Chocolatey http://t.co/EhJugCrAdc— guitarrapc_tech (@guitarrapc_tech) August 24, 2014 Chocolatey は、Windows環境でのパッケ…

Azure DevOps の Template を利用してビルドする

Azure DevOps Pipeline で何度も同じ処理をYAMLに書いていた場合、Templateを使うとまとめられて便利になります。 実際にビルドが多く重複した定義の多いプロジェクトに適用したところ、表向き300行 (template 含めると100行) 減らせて見通しは良くなりました。 # before $ find . -type f | xargs cat | wc -l 788 # after $ cat *.yml | wc -l 483 $ find . …

PowerShell のコーディングスタイル

…owerShell DSC のコーディングスタイルとしてHighQualityModuleGuidelines が公開されています。これは Module 特に DSC としてに注視しているため、ここでは扱いません。 github.com PowerShell scripting best practices PowerShell Team Blog の内容です。 ドキュメントコメントを用いて、name, date, author, purpose and keywordsの記…

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

…owerShell DSC でも可能です。まだリリースされてませんが、1.6 でWMF5.1 や Nano Server 向けに TimeZone Cmdlet を使うように分岐が入ります。 github.com gist.github.com .NET (C#) 当然 C# でも操作できます。 Set がだるいので、コマンドをラップしてもいいかもしれません。 gist.github.com WSL (Bash on Ubuntu on Windows) WSL から Ubu…

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

…owerShell DSC は PowerShell が目指してきた姿の1つの目標であり、強力な技術基盤です。 PowerShell は DSC を提供にするにあたり、OMI の実装を WMI から クロスプラットフォームな CIMに移してきました。実際 Linux で PowerShell DSC を利用する PowerShell-DSC-for-Linux も公開されています。 github.com また WMF5.1 からは、PowerShell Core、つまり .N…

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

…いでしょうか?特に DSC に関しては、これまで CIM Method を直接たたかなくては操作ができなかった部分が、Cmdlet で置き換えられています。また、ConfigurationId も撤廃され、PULL Server から PULL Node への mof document 配信も格段に楽になりました。 と、いいこと尽くめならいいのですが、まだまだ発展途上の技術です。バグも多くあります。ことごとく踏み抜いて対処してきましたが、1つ皆様の投票 (Vote) ご協力い…

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

…owerShell DSC リポジトリでやりとりをやっているのですが、先日 xTimeZone にあった結構困ったバグ修正のPRをおくったところマージされました。 日本語はもろに影響を受けるので良かったよかった、とともに軽くメモに残しておきます。 あと、最近になって Powershellチームによる Desired State Configuration の開発に変化が出てきているのでその辺も。 目次 目次 PowerShell Desired State Configura…

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

…owerShell DSC の Configuration や ワンライナー、補助スクリプトがメインで長大なコードは次々とC#にリプレースされています。 構成図の見直し 今回は、ヴァルハラゲートの構成図でしたが、最初期からみてどんどん変わっていっています。 変化は大事だと思っています。停滞はサービスの死に直結します。 そして変化の記録と公開も同様に大事にしています。弊社のサービス構成図は、CTOのスライド でも度々引用されています。 少し時系列で並べて見ます。構成図にない変化…

ADFS から AzureAD に IdPを完全移行したお話

…owerShell DSC を使って、サービスの起動を担保するべきでしょう。 またADFS は「特定の変更処理をする際にサービス再起動を求められる」ことがあります。いうまでもなく、ADFS は何かしらの理由でリクエスト処理を正常に行えなくなることもあります。そういった場合にもサービスを再起動しないといけません。 サービスの担保、めんどくさい。 DMZ の安全性担保 AWS 使えば楽勝です。が、ADFS Proxy に脆弱性があったら?と考えると、安全性は サービス提供された …

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

おかえりなさい。 ということで、リリースされて一週間で撤収された WMF 5.0 (PowerShell 5.0) RTM でしたが、ようやくバグ修正が終わり再リリースされました。 Download Windows Management Framework 5.0 (Superceeded by WMF 5.1 RTM version: http://aka.ms/wmf5download) from Official Microsoft Download Center 目次…

Remote Desktop Web Service を AWS Elastic Load Balancing で冗長化する

…振るのは省略します。DSC でも使って楽に構築してください。 www.powershellgallery.com www.powershellgallery.com www.powershellgallery.com 構築 とりあえずさくっと構築しましょう。 EC2 は立ててあるという前提で、ELB と Route53 のレコードをさくっと作ります。 ELB の作成 Internet facing で、ELB を作成してください。Lister は TCP 443 で Load…

2015年を振り返って

…owerShell DSC PackageManagement Cmdlet CSharp デプロイ基盤のPULL型化 仕事 記事 来年 PowerShell 2015年は「PowerShell って現実にどういう利用シーンがあるのか」をインフラ以外のレイヤで考えたりした年でした。私にとってPowerShellって、ただのツールで自動化しやすかったりするだけなので、使えないシーンならすぱっと切り捨てます。別に PowerShell 最高じゃないし、使えないなってことも多いので…

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

この記事は、PowerShell Advent Calendar 2015 最終日の記事です。 https://atnd.org/events/72226atnd.org 最近はもっぱら C# を使っており、PowerShell も Cmdlet を書いてたりしてスクリプトあまり書いていません。*1 しかしながら、Cmdlet はただ読み込むならともかく、継続的デプロイを考えるとお世辞にも使いやすいとは言えません。むしろ鬼畜です。 そこで今回はPowerShell Cmdle…

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

…カットが動作しない DSC 破壊的変更 : 証明書による暗号化が失敗する Start-DscConfiguration など一部 Cmdlet がエラー WMF 5.0 Production Preview に上書きして WMF 5.0 RTM をインストール Get-DscConfiguration -Debug するとLCM状態が不安定になる Stop-DscConfiguration -Debug するとハング DSCResource の Verbose メッセージがL…

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

…ニティともに既存の DSC リソースには.NET Framework のインストールが可能なものがないので作りました。今回はその紹介です。 目次 目次 Github なぜ DSC でインストールを制御したいのか 前提 インストール KB Ensure InstallerPath NoRestart LogPath アンインストール インストール判定について ログの文字列解析 レジストリでの判別 ファイルでの判別 KB での判定 .NET 4.6 のアドバイサリについて 概要 …

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

…orkflow や DSC Configuation、クラス構文のサポート リモートデバッグのサポート より良いインタラクティブコンソールのサポート いくつかのシンタックスルールの早期改善 PowerShell Gallery との連携、統合によるモジュールのインストール PowerShell v3 と v4 サポート Extension インストール方法 PowerShell Extension は、VS Code で以下の操作で追加可能です。 F1 キーを押して入力ペイン…

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

@ufcpp さんにお話しをいただいて Comm Tech Festival に参加してきました。 comuplus.doorkeeper.jp セッション資料をここで公開します。 目次 目次 セッション資料 補足 VS API Deploy まとめ セッション資料 speakerdeck.com 補足 お気づきの方もいらっしゃるかと思いますが、これまでブログで紹介してきたことやTwitter でさくっと書いていたことも含めた内容です。 とはいえ、ただの焼き増しというわけでは…

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

…イルの作成 BuildScript\deploy.ps1 の記述 一度継続的デプロイ連携を切る 変更を push する 再度継続デプロイを連携してカスタムデプロイの確認 まとめ 何をするの 先日紹介した、OneGetのプライベートソースがありました。これを使ってデプロイの制御を行います。 tech.guitarrapc.com github.com 次の流れでやってみましょう。 Web App を起動しよう GitHub から継続的デプロイ連携*1を組む Kudu による状態…

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

…よ。 SelectedScriptPaneState : Right ShowDefaultSnippets : True ShowToolBar : True ShowOutlining : True ShowLineNumbers : True TokenColors : {[Attribute, #FF00BFFF], [Command, #FF0000FF], [CommandArgument, #FF8A2BE2], [CommandPara meter, #FF0…

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

…0240 にあった DSC 周りのバグも修正されています。 利用可能OSは次の通りです。.NET 4.5以上 をいれれば動くのでぜひどうぞ! Windows Server 2012 R2 Windows Server 2012 Windows 2008 R2 SP1 Windows 8.1 Windows 7 SP1 12/20 追記 WMF5 RTM がリリースされました。最新情報はこちらをどうぞ。 tech.guitarrapc.com 目次 9/4 追記 12/20 追…

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

…owerShell DSC で制御する アクセス許可状態の不透明さ 個別設定の手間 設定時の影響 PowerShell DSC リソース サンプル C:\ACL\hoge C:\ACL\fuga 継承を戻す まとめ NFTS のアクセス許可とは Microsoft TechNet と @IT の説明がわかりやすいでしょう。 What Are Permissions? | Microsoft Learn www.atmarkit.co.jp Windowsで制御したい対象のフォ…

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

…owerShell DSC の展開 まとめ PowerShellGet とは 端的にいうと、PowerShellGet は、PowerShell Gallery に配置されたモジュールを Cmdlet 1つでダウンロードできる仕組みです。 https://msconfiggallery.cloudapp.net/ モジュールの開発者 これが PowerShell モジュールの開発者に与える影響は大きいです。これまでは GitHub などで公開しても次の問題がありました。 モジ…

NancyFx/Nancy と TopShelf でIISに依存しないAPIサーバーを作ってみよう

C#

…ーションのデプロイをDSCで自動化する例を紹介しました。 tech.guitarrapc.com 今回は、LightNode + TopShelf を使うことでIISに依存しないAPIサーバーを作ってみましょう。と、書いていたのですが、その前にNancy だとどうなるのか書いていたら長くなったので LightNodeは次回です。ゴメンニャサイ。 目次 目次 APIサーバーを作りたい? OWIN と Framework リポジトリ NancyFx/Nancy によるAPIサー…

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

…を行うために 久々にDSC リソースを書いたので記事にしてみましょう。 開発 => コミット => ビルド => デプロイまでの自動化がなされるので、DSCの使いどころの参考になれば幸いです。 目次 目次 TopShelfってなに DSC リソースの作成と配置 DSC Configuration の記述 ビルドした成果物をデプロイする流れ cS3Content Archive cTopShelf Service まとめ cArchive リソース TopShelfってなに T…

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

…-? during DSC configuration compilation : Stable Support for DSC RunAsCredential : Stable Rich information for DSC LCM State : Stable Side-by-side installation of DSC resources : Experimental Separation of node and configuration IDs : Exper…

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

…お話。 目次 目次 DSC Resource Kit の Github 移行 公開された範囲 なぜGitHub に移行できたのか まとめ DSC Resource Kit の Github 移行 これまでは、ScriptCenter でのみ公開されていました。 たびたび触れていますが、バージョンが変わるたびにリンクも変わり大変つらいものがありました。 gallery.technet.microsoft.com Github に開発が移行し、各DSC Resource がそれぞ…

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

…ーフェースそれぞれにキーを設定する必要があるのですが、AddressType から設定すべきネットワークアダプタが特定できます。 あとは、有効、無効を bool から INT(DWORD に変換して判定するだけです。 まとめ 操作をする以上、冪等性って大事ですよね。状態を持たないように書くと比較的楽に書けるように思います。PowerShell にはパイプラインがあるので、これを使うのが楽でしょう。 ちなみに DSC で書くともっと楽です。興味のある人はぜひ考えてみてください。

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

…をスクリプトで組む DSC でスケジュールを組む まとめ なにがしたいの 開発、本番環境いかんに関わらず、 GitHub -> CI -> デプロイ という流れがあります。*1 ただし、プロジェクトを跨いでいてもCIにgitクローン結果を残したくないというのがあります。で、CIを使わず自動で Clone -> Pull -> Pull後のアクションをしたいなと。 今回公開するモジュールは、PowerShellモジュールによるCIの簡易モジュールです。 どう使うの 前提 認証処…

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

…owerShell DSC Advent Calendar 2014 - Adventar 13日目の記事です。 時空の歪みが観測でき(略 PUSH 飽きたので(おぅ、PULL にしましょう。というのは冗談ですが、実際PUSHで伝えることは伝えたのでもうありません。次はPULLです。 目次 目次 LCM の切り替え 現在のモードの確認 PULLモードへの変更 PULLモードの指定 DSC サーバーの指定 ノードが参照するコンフィグレーションmofファイル 適用間隔 LCMの構…