tech.guitarrapc.cóm

Technical updates

DSC の検索結果:

ArgoCDのOIDC認証とリフレッシュトークンチェック不具合

…> requestedScopes: ["openid", "profile", "email"] requestedIDTokenClaims: {"groups": {"essential": true}} logoutURL: https://<argocd-server-url>/logout?client_id=<cognito-client-id>&logout_uri=https://<argo-cd-server-url>/logout # Cognitoにa…

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を使っていました。 guitarrapc_tech (@guitarrapc_tech) August 24, 2014 Chocolateyは、Windows環境でのパッケージリポジトリの提供とCLIインタフェースchocoを通して、Windowsにおいてコマンドラインからアプリケーションをインストールする体験…

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

…owerShell DSCのコーディングスタイルとしてHighQualityModuleGuidelinesが公開されています。これはModule特にDSCとしてに注視しているため、ここでは扱いません。 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を使うように分岐が入ります。 https://github.com/PowerShell/xTimeZone https://gist.github.com/guitarrapc/ba2fe8a7162453e61705f91e39c5772b .NET (C#) 当然C# でも操作できます。 Setがだるいので、コマンドをラップ…

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

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

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 Configuration の開発状況 バ…

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

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

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

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

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

…powershelldsc/03 当初、2015年12月22日リリースだったこともあり、早々に記事を用意していたのですがその後回収されてしまったので2ヶ月近くオクラ入りになってました。 さて、今回の記事を書くにあたって、編集者の@isshiki様と新しい試みを試しました。GitHubでの記事の編集作業です。 https://www.buildinsider.net/hub/editorsnote/2015winter コミット履歴でまさかのrevertがあるように、当初かなり…

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

…振るのは省略します。DSCでも使って楽に構築してください。 https://www.powershellgallery.com/packages/cRemoteDesktopServices/1.0 https://www.powershellgallery.com/packages/xRemoteDesktopSessionHost/1.1.0.0 https://www.powershellgallery.com/packages/xRemoteDesktopAdmin/…

2015年を振り返って

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

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 のアドバイサリについて KBをインストールすれば…

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

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

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

…イルの作成 BuildScript\deploy.ps1 の記述 一度継続的デプロイ連携を切る 変更を push する 再度継続デプロイを連携してカスタムデプロイの確認 まとめ 何をするの 先日紹介した、OneGetのプライベートソースがありました。これを使ってデプロイの制御を行います。 https://tech.guitarrapc.com/entry/2015/09/04/042449 https://github.com/guitarrapc/MyOneGetServe…

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 のリリースについて

…ド10240にあった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がリリースされました。最新情報はこちらをどうぞ。 https://tech.guitarrapc.com/entry/2015/1…

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

…owerShell DSC で制御する アクセス許可状態の不透明さ 個別設定の手間 設定時の影響 PowerShell DSC リソース サンプル C:\ACL\hoge C:\ACL\fuga 継承を戻す まとめ NFTS のアクセス許可とは Microsoft TechNetと @ITの説明がわかりやすいでしょう。 https://technet.microsoft.com/ja-jp/library/cc771375.aspx https://www.atmarkit.…

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

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

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

C#

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

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

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

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でのみ公開されていました。 たびたび触れていますが、バージョンが変わるたびにリンクも変わり大変つらいものがありました。 https://gallery.technet.microsoft.com/scriptcenter/DSC-Resource-…

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

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

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

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

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

…ULLモードの指定 DSC サーバーの指定 ノードが参照するコンフィグレーションmofファイル 適用間隔 LCMの構成 リモートマシンへの適用 meta.mof のファイル名とCimSessionで指定したコンピュータ名は一致する必要がある MOF 構成 LCM のmof Configurationのmof Mof のリセット まとめ LCM の切り替え Local Configuration Manager (LCM)覚えてますか? 忘れた方は5日目へ。 https://t…

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

…を確認する Get-DscConfiguration リモートノードの確認 ノードがあるべき状態か確認する リモートノードへの実行 問題点 複数ノードに実行した時にどのノードがtrue/falseかわからない falseの時にどのコンフィグレーションが問題なのかわからない まとめ ノードに適用されたコンフィグレーションを確認する まずは、ノード自身がどんなコンフィグレーションを適用されたのか確認してみましょう。 Get-DscConfiguration PowerShell …

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

…号化するの ノード DSCサーバー 暗号化をしない コンフィグレーションデータを渡す MOF を見てみよう 公開鍵暗号を行う コンフィグレーションを書く MOF の生成 MOFを見てみよう LCMを設定していなかった場合 コンフィグレーションの適用 まとめ センシティブな情報とは PowerShell DSCの中では、[PSCredential]です。つまり、パスワードなどの機密情報です。 PowerShellには[PSCredential]という型があるので、これがセンシテ…