kkamegawa's weblog

Visual Studio,TFS,ALM関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

PowerShell

TFS Power Toolsに含まれるPowerShellコマンドレット

この記事はTFS Advent Calendarの12/24分です*1。 前回の担当日ではTFS Best Practices Analyzerを紹介しました。今日は同じくTFS Power Toolsに含まれるPowerShellコマンドレットを紹介します。おそらくクライアントで使うことが多いと思いますので、クライ…

PowerShellで勤務時間を採取しよう

PowerShell Advent Calendar 12/7分です。 PowerShell Advent Calendar 2011 : ATND 毎日のお役に立ちそうなスクリプトを作ってみました。たいていの会社では勤怠を入力していると思います。その日に入力して帰ればいいんですが、忘れちゃう人(私)も多いと思…

複数のソリューションをアップグレード/結果確認するPowerShellスクリプト

以前id:kkamegawa:20100620:p1なんて書いたのですが、複数のソリューションをアップグレードしたあと、結果確認するの面倒ですよね。結果ファイルはupgradelog.xmlというファイルにできているので、こんな感じでやれます。 $xmls = gci "ソリューションを格…

LoadWithPartialNameをやめてAdd-Typeコマンドレットへ

PowerShellで動的にアセンブリを読み込ませる場合、LoadWithPartialNameをを使う例がごまんと出てきますが、.NET 2.0以降、互換性のために残されているというマークがついています。でも4.0でも生き残りました。Scripting Guy!でも「ほかの方法は性能が低い…

複数のソリューションファイルを一気にアップグレードする

vs2008ソリューションを 2010 に変換中・・・めんどくさ。複数ソリューションを一括更新する簡単な方法求む・・・2010-06-20 12:07:19 via webというつぶやきがあったので、こんな回答。 @Neri78 devenv.exeに /upgradeオプションがあるので、PowerShellで g…

PowerShell Management Library for Hyper-V

今使っているマシンではHyper-V上に10位のチャイルドパーティションを作ることになっています。管理コンソールからでは面倒になってきたので、これを入れてみました。 PowerShell Management Library for Hyper-V - Home PowerShellからHyper-Vを管理するた…

PowerShellで作るか、C#で作るか

最近仕事で使うリポジトリへの管理系コマンドをぼちぼち用意しています。(私以外の)メンバーにはExplorerからのコピーじゃあぶなっかしいし、誤って変な所へコピーされそう。以前はPowerShellで作ろうと思っていて、半定型の障害レポートもPowerShellでSQL S…

訳しすぎ

PowerShell 2.0はヘルプがchm化されていてありがたい…のですが、多くの場所で折り返しが有効になっていないようで、読みづらくなってしまい、残念。折り返しているところもあるから、chm作成したシステムと書いたソフトの都合かな? で、ヘルプを見ていたら…

PowerShell 2.0のスクリプトブロック

PowerShell 2.0がリリースされたので、さっそくいくつかのスクリプトを移行しています。ファイルのバックアップコピーを行うスクリプトをバックグラウンドジョブに移行したところ、エラーが…。 start-job { copy-item c:\temp \\server\backup -force -recur…

PowerShell 2.0とリモート接続クライアント7.0

Windows Management Framework Core package (Windows PowerShell 2.0 and WinRM 2.0) やっと出ましたPowerShell 2.0。一応私のところでは1.0をアンインストールしなくてもインストールできていますが、1.0のドキュメントなどが残ってしまうので、アンインス…

PowerShellの-fオプションでshift-jisエンコーディングのファイルが読めない

PowerShellのswitch –fileオプションでSHIFT-JISエンコーディングファイルが読めない PowerShell 2.0/1.0のどちらでもダメでした…私も何冊か読んだPowerShellの本で「できる」と書かれているのですが、UTF-8/UTF-16のファイル以外はだめでした。しょうがない…

書き込みはPUTで。

WebClientのUploadFile()メソッド使ってIIS 6.0 + WebDAVにファイルをアップロードしようとすると、メソッドに"PUT"を指定しなくてはなりませんでした。つまり引数がふたつのUploadFileは使えませんでした。そういうものでしたっけ?まぁこれでだいぶスクリ…

Windows 7活用術公開

Windows 7 | PowerShell でのリモート管理 ということで、恒例の(?)Windows 7活用術が公開されました。今回はPowerShell 2.0とWinRMを使用したリモート管理&Active Directory管理です。Windows Server 2003/Windows XP/Windows Vista/Windows Server 2008用…

今日のはづかしいミス。

PowerShellではこれが評価されます。 $a = "aaa" $b = "bbb" $a -lt $b True 最近.NET Frameworkの動作をいつもPowerShellで確認していたので、つい癖で「あー文字列大小比較できない?」と言ってしまいました。 string a = "aa"; string b = "bb"; if(a > b…

TechEdで買った本

WINDOWS POWERSHELL 実践システム管理ガイド (マイクロソフト公式解説書―マイクロソフトITプロフェッショナルシリーズ)作者: 目時秀典,横田秀之出版社/メーカー: 日経BP社発売日: 2009/09/03メディア: 単行本購入: 2人 クリック: 37回この商品を含むブログ (…

PowerShell 2.0もRTM

Windows PowerShell 2.0 RTM - Windows PowerShell Blog - Site Home - MSDN Blogs まぁ、Windows Server 2008 R2がRTMなんだからこっちも自動的にRTMということですね。でも… In the next few months, we will release a downlevel package for installing …

profile.ps1が肥え太ってきた

PowerShellの書き方がやっとわかってきて、日々のツールをどんどんPowerShell化しています。リリース用にファイルの最終更新日をそろえるために最初こんなので function Set-FileTime($filename, $LastWriteTime) { $a = new-object System.io.FileInfo $fil…

入れ子になるクラス

[System.Environment]::GetFolderPath()を使おうと、列挙体をこんな感じで指定しようとしても、どうしてもうまくいかない。 [System.Environment.SpecialFolder]::MyMusic 「System.Environment+SpecialFolderではありません」などというエラーが出てくる。+…

Tech Filders週末編

Tech Fielders セミナー | マイクロソフト 平日参加できる方は平日に。そうでない方も休日に。今回は珍しくMCP資格を持っている人のみという日があるんですね。どっちもいけるかどうかはわからないけれど、どっちか…たぶん5月だけかな?には参加してライトニ…

PowerShellがダウンロードできない理由

id:kkamegawa:20090325:p2でbiacさんにコメントをいただいたのですが Vista64 の Windows Update には、25日の朝には来てましたよ。 Windows Updateで配信開始になったということで、やってみてもあるマシンにはどうしても出てきません。あれ?と思ってVista…

もうすぐWindows Updateでくるか?

今日WSUSの同期でPowerShell 1.0がダウンロードされました。Windows Updateではまだのようですが、おそらく近いうちにくるでしょう。そういえばまだ自動更新の対象になっていなかったんですね、これ。 とはいえ、日本語環境にはMUI版と日本語ローカライズ版…

使いどころ

1GBちょっとあるテキストファイルをもらったけれど、実際に必要なのは末尾の1,2万行。んじゃPowerShellで作るかと思ったら甘かった。行数をカウントするだけでも数分以上(結局2600万行くらい)。実際にやってみると10数分放置しても切り出しが終わらない(^^;…

解決編:OracleClientでデータバインドができない

id:kkamegawa:20080819:p1 の続き kikuchiK wrote: バグの理由の最たるものは typo > :Column > ”Colum” ありがとうございます…おはずかしい。これは私のtypoで、実は別の原因でした。 $cmd.CommandText = "select * from Table where Column = :Column" $Or…

Oracleに対してホスト変数がバインドできない

テストデータを作るのにPowerShell便利でとても助かっています。今日はデータベースのデータをもとにしてSQLをくみたてて実行してみようとしてはまりました…。 $cmd.CommandText = "select * from Table where Column = :Column" $OracleType = [OracleClien…

とにかくなれるために

id:kikuchiK wrote robocopy の /XD オプションなんて邪道!という事ですね。わかります。 そういうものもありました。すっかり忘れてます…。PowerShellでとにかく何でもやってみようということで、手段が目的と化しています(^^;。 ちなみに会社ではDFSを使…

VisualStudioプロジェクトをコピー

Visual StudioでネイティブC++プロジェクトを作って人様に渡す場合、Releaseフォルダとか、Debugフォルダとか渡したくありませんね(vss関係のファイルもだけど)。今日2時間くらい頭をひねっていたのですが、どうにもいい手段が思い浮かびませんでした。結局…

今日のスクリプト(ログオンイベントを列挙する)

PS>get-wmiobject -computer ドメインコントローラ -query "select * from Win32_NTLogevent where (logfile='Security') and (eventcode='680')" | select computername, user, timegenerated, messageActive Directoryで運用している場合、ログオンイベン…

今日のスクリプト(ハッシュ計算)

function GetHashSHA1([string]$filename) { [Reflection.Assembly]::LoadWithPartialName("System.IO") [Reflection.Assembly]::LoadWithPartialName("System.Security.Cryptography") $hashAlgolithm = New-Object System.Security.Cryptography.HMACSHA1 …

xx日以降のファイルをコピーする。

$dt = new-object System.DateTime 2008,5,17,0,0,0 get-childitem -path フォルダ名 -filter *.* -recurse | foreach-object {if($_.LastWriteTime -gt $dt) {copy-item $_ -destination コピー先 -recurse}}こんな感じか。使いでがある割に、ちょっと指定…

今日のスクリプト(BASE64をデコードする)

function DecodeBase64($inFile, $outFile) { [Void][Reflection.Assembly]::LoadWithPartialName("System.IO") $DecodeFile = new-object System.IO.FileStream ($outFile, [System.IO.FileMode]::Create) $Base64File = new-object System.IO.StreamReader…