tech.guitarrapc.cóm

Technical updates

2013-09-01から1ヶ月間の記事一覧

PowerShell で フォルダの容量一覧を取得したい

ドライブ容量は簡単ですね。 cimでもwmiでもいいでしょう。 さて、ドライブの次はフォルダ容量を調べてみましょう。 特に多くの場合は、 容量を調べる = どのファイル/フォルダが原因かを調べるためなので大事です。 では、見てみましょう。 フォルダの容量 …

PowerShell による デプロイ ライブラリ "valentia" β版 の公開

謎社での私の責務の1つがLinuxからWindows環境に移行時、デプロイ環境を低下させることなく維持、向上、移行することでした。 今回、その案件に対応すべく制作したPowerShellによるCUIデプロイモジュールvalentia β版を公開します。 valentia - guitarrapc/v…

PowerShell で Profile を利用して スクリプトの自動読み込みをしてみよう

PowerShellを起動したら、特定のコマンドを自動実行してほしい。 いわゆる、bashなどでいうbash_profile的なモノです。PowerShellにもprofileな考えは存在していますので、紹介しましょう。 参考 現在のProfile確認 Profileと適用対象 ユーザー単位 システム…

PowerShell で System.Collection.Generics.List を扱ってみる

PowerShellでGenericなクラスを扱う場面は少ないと耳にします。 使わない理由: PowerShellは動的型付け Genericを使う理由 : 厳密に型チェックしたい PowerShell で Listを扱う List の生成 Syste.Correction.Generic の生成をCmdlet風に行う List.Add() Lis…

PowerShell の +=演算子 パフォーマンス と その回避方法

配列や文字列対する += 演算子 +=演算子で文字列の追加する場合、PowerShellの@()によるArrayは固定長なので配列をいちいち作り直します。 += 演算子での操作であればArrayListやListでも変わりません。 これを回避するには、 +=演算子ではなくAddメソッドか…

PowerShell の Test-Path -IsValid が謎くて使えない

よく利用される、Test-Pathは対象のパスが存在するかどうかを検知します。 このTest-Pathには、-IsValidスイッチがあります。 このIsValidでファイルパスのバリデーションをしようとすると、謎に巡り合えます。 TechNet を見よう 構文としてパスに含まれては…

PowerShell で テキストファイルとファイル名をマッチングして変更してみよう

ファイル名がただの連番になってしまった時に、まとめて名称を変えましょう。PowerShellで気軽にさくっと書けますよアピールということで。 どんな状態なのか 元のファイル名 変更後の名前 マッチング 変更スクリプト 説明 新しいファイル名の一覧をテキスト…

Windows 8.1 RTM と Windows Server 2012 R2 で win + x のシェルを コマンドプロンプトから Windows PowerShell に変更する

Windows 8.1 PreviewやWindows Server 2012 R2 Previewを触っていた人はPowerShellがWin + xのメニューでデフォルトになっているのを見て喜んだことでしょう。 しかし、 Windows 8.1 RTMやWindows Server 2012 RTMを見ると、Windows 8 / Windows Server 2012…

Hyper-V で Windows Server 2012 R2 環境を作ってみよう

Windows Server 2012 R2がMicrosoft Subscriptionで利用できるようになりました。 Windows Server 2012 R2 AzureやAWS EC2で利用するのもいいのですが、 今回は手元のWindows 8.1 ProでHyper-V環境を構築しWindows Server 2012 R2をインストールしてみます。…

Opera 17 Next と Opera 12.x の違いをみてみよう

Etc

OperaがPrestoを諦めてChromiumベースになってもOperaの良さを失わないで欲しい..... また、愛用者としてはどう使っていくかを検討する時期が近づいています。 今回、現実としてOpera 12とOpera 17 Nextでは機能的な違いがあるため、軽く見ておきましょう。 …

WordPress.com から はてなブログに移行した理由と移行作業

2012年11月にPowerShellに関して記事を書き初めて10ヶ月経っていました。 はじめてのはてなブログ記事は、「WordPress.comからはてなブログに移行した理由と移行作業」です。 移行した理由 1. Markdown 記法で書きたい*1 2. はてな流入数が多かった 3. 英語…

PowerShellでファイルのロック状態を取得したい

PowerShellでRename-ItemやCopy/Move/Removeなど、各種操作でそのファイルがロックされているかどうかの確認が必要です。 システム管理の一環として、ファイルの処理は欠かせないので使う場面は多いですが、PowerShellにロック状態を取得するコマンドレット…

PowerShellにおけるWindows Workflow Foundation 4.0 (WF)利用のすすめ

Windows PowerShellでの並列実行というと、 PipeLine処理かWorkflowが利用しやすいところです。 Workflowは通常のImplicit Scriptingと異なりマネージドな仕組みです。 このため、WorkflowはWindows PowerShellだけでは困難な長時間にわたるスクリプト処理の…

PowerShellのModuleインストール用スクリプトを作ってみた (続き)

以前、PowerShell ModuleをGitHubなどからCloneした後に、 User Moduleパスにインストール (要はコピー) するスクリプトを公開しました。 PowerShellのModuleインストール用スクリプトを作ってみた 前回のスクリプトはMS TechNetのやり方に沿ってちょろちょ…

SumoLogic API操作PowerShellモジュールを更新しました

SumoLogicについては、以前も紹介しました。 SumoLogic API を PowerShell で利用する 今回いくつかfunctionを追加しました。 これで、CoillectorとSourceに関しては、大体の操作がPowerShellでできるかなーとか。 Repository GitHub Repository名を変更しま…

PowerShellでWorkGroup環境のWindows Userユーザーフラグを変更する

WorkGroup環境でPowerShellを使ってWindows Userのユーザーフラグを変更するのはADSIを参照する必要があります。 今回は、 既存ユーザーのユーザーフラグを指定したものに変更する方法です。 これでAD環境じゃなくてユーザー管理がということも少し減るとう…

Windows Azure The Diagnostic Utilityが公開されています

先日26/Aug/2013にAzure Teamが実際に利用しているいうAzure Tools - The Diagnostic Utilityが一般公開されました。 Azureに限らず使えそうなのでご紹介です。AWSでの利用を念頭に見てみましょう。 ダウンロード 以下のコマンドレットをPowerShellでコピー&…

pseditを用いてコンソールからPowerShell ISEでファイルを開く

bashやzshなどでは、vimやEmacsを使ってファイルの編集が可能です。 PowerShellでも同様に扱えますが、PowerShell ISEもpowershell_ise.exeではなくpseditコマンドというショートカットでファイルを開いて編集できます。 PowerShell ISE 本ブログでも何度も…

PowerShellのps1ファイルは何故1なのか

良くある疑問ですが日本語での説明が見当たらないようです。Twitterで説明していましたが記事にしておきます。 そういえば PowerShell の拡張子の ps1 の 1 ってなんだろう。 psh ではだめだったのか。 kos59125 (@kos59125) 理由 あれ、元々 PowerShell v1 …

GitHubにおけるPowerShellのトレンド

GitHubのTrendでPowerShellが少しずつ増えていますね。 今回はその確認とか。 トレンドの確認 ここで確認ができます。 Trending PowerShell repositories on GitHub today まだまだ少ないとはいえ、 少しずつ増えています。 特にchocolateyとposh-Git, psake…

PowerShellでパラメータ入力を必須にしたい

自作関数のパラメーターを必須入力にしたいとき、いくつかやり方はあります。 しかしPowerShel 1.0の情報が、何故かいまだに見受けられるので記事にしておきます。 PowerShell 1.0では デフォルトで例外をはきます。 function hoge{ Param ( [string]$sample…

PowerShellでタスクスケジューラ(SchedulerTask)を操作する

タスクスケジューラは、現在でもGUIで設定している方が多いですね。 一台や二台にやるならいいのですが、10台100台の時はどうするのかが課題です。 Linuxにはcronがあります。Windowsには、Windows XP, 2003以降schtasks.exeがat.exeに変わりあります。 末ジ…

PowerShellでTCP/IP接続監視をしたい

前回、netstatがPowerShellではオブジェクトとして取得できることを紹介しました。 PowerShellでnetstatをするにはどうするの この記事では単純にGroup-Objectで状態をグルーピングしましたが、今回はログ監視として横に並べたい時の出力を考えてみましょう…

PowerShellでActive Directoryのユーザー属性(User Attribute)を取得する

Active DirectoryはWindows Server 2012からいよいよPowerShellでの管理が主体となっています。 旧来のコマンドは非推奨となり、多くの情報が .NETをベースにPowerShellで操作可能です。 さて、今回はユーザー属性をユーザー名から取得する際のコマンド紹介…