2012/11/21

先日、Windows Server 2012がRTMされたのと同時に、Windows 7/2008/2008 R2用のPowerShell 3.0を含むWindows Management Framework (WMF) 3.0パッケージも公開になりました。

Download WMF 3.0 from Official Microsoft Download Center

また、Windows Server 2012を管理するためのWindows 8用リモートサーバー管理ツール(RSAT)も公開されました。サーバーマネージャーやAD管理センターなどの管理ツール、Windows Server 2012の「役割」と「機能」に対応するPSモジュールが含まれています。

Download: Windows 8 用 RSAT - Microsoft Download Center - Download Details

(残念ながらWin Server 2012を管理するWin7用のRSATはないようです)

さて、PowerShell 3.0はローカルヘルプが標準では含まれていないので、Update-Helpコマンドレットを管理者権限で使ってダウンロードする必要があります。が、現状では日本語ヘルプが存在しないので、ローカルでヘルプが引けないというちょっとアレな状況になってます。

この状況、いつかは改善されるとは思うのですが、とりあえずの回避策を書いておきます。以下のスクリプトを管理者権限で実行してください。

Update-Help -UICulture en-us -Force
mkdir $pshome\ja-JP_backup
copy $pshome\ja-JP\*.* $pshome\ja-JP_backup\
copy $pshome\en-US\*.* $pshome\ja-JP\

このスクリプトはUpdate-Helpコマンドレットにより英語ヘルプ(ロケールen-us)を$pshome\en-USにダウンロードします。その後、ダウンロードしたヘルプファイルをそのままja-JPフォルダにコピーします。その際、念のためにバックアップをja-JP_backupフォルダにとっておきます。

これで日本語環境のpowershell.exeでもとりあえずは英語版のヘルプを引くことが出来るようになります。

(2013/01/18追記。Windows 8とServer 2012では、Update-Help -UICulture en-us -Forceを管理者権限で実行するだけで、日本語環境でも英語ヘルプが表示されます。)

日本語ヘルプがダウンロード可能になればこの作業は必要ないですが、それまでの暫定措置としてご利用ください。

この作業に抵抗がある方は、オンライン版英語ヘルプを参照するのでもいいかと思います。

Windows PowerShell Core Modules
これはPowerShell 3.0に標準添付のモジュールとそれに含まれるコマンドレットのリファレンスです。

Windows PowerShell Support for Windows Server 2012
これはWindows Server 2012 / Windows 8に付属のモジュールとそれに含まれるコマンドレットのリファレンスです。

powershell.exeで Get-Help コマンドレット名 -Online とすることでWebブラウザを開いてこれらのヘルプページを直接表示することも可能です。

さて、ヘルプが揃ったところで、さっそく新しいコマンドレットを試してみましょう。そしてその成果をぜひ、PowerShell Advent Calendar 2012で発表してください!!

2011/10/09

WindowsサイドバーガジェットはWindows Vistaの登場で追加されたプログラムで、デスクトップ上にガジェットと呼ばれるミニプログラムを貼り付けることができます。ガジェットはHTML/CSS/J(ava)Script (+VBScript)で記述することができます。Windows7の登場で名称が「Windowsデスクトップガジェット」と変更され、一部仕様に変更が加えられたものの現役でした。

ところが先月末(2011/09)頃に、サードパーティー製のものを含む多数の追加ガジェットのWindows Live Galleryでの公開が中止されました。現在は登録されたガジェットのリストは表示されるものの、ダウンロードができない状態です。まもなくサイト自体が閉鎖されるものと思われます。

現時点でWindows7で「ガジェット」を実行し、そこに表示される「オンラインで追加のガジェットを取得」リンクをクリックするとデスクトップ ガジェット - Microsoft Windowsというページに飛ばされますが、ここでは(おそらく人気上位であった)ガジェットが数点のみダウンロードできるという状態です。

この措置に対するMicrosoftの公式コメントがこちらになります。Looking for gadgets? - Downloads - Microsoft Windows

この記事を要約すると

  • MicrosoftはWindows Live Galleryを閉鎖し、今後、新しいガジェットの開発およびアップロードをサポートしない
  • ただし人気ガジェットはまだダウンロードできるようにしておくよ
  • ガジェット製作者はよりリッチなプラットフォームであるMetro Style Appにシフトしてね
  • でもまだガジェットに興味がある人もいるだろうから一応開発ドキュメントは残しておくよ
  • まだガジェットを公開したいのならCodePlexでどうぞ

という感じになるかと思います。まだPreview版しか出てない次期Windowsでしか動かないMetro Style Appを移行先に指定するのはかなり無理があるように思いますが、どうもMicrosoftはMetroと技術的にかぶるガジェットをさっさと亡きものにしたいようです。Windows 8のDeveloper Previewのクラシックデスクトップでは一応、今のところはデスクトップガジェットの機能は削除されていませんが、これからの開発の過程で削除されてしまう可能性も十分にありそうです。

ちなみにデスクトップガジェットはたとえIE9をインストールしてもHTML5コンテンツは動きませんし、JavaScriptもチャクラではなくJScript5.8で動きます。この時点でガジェットの未来はなさそうだと踏んでいましたが、思ったより早い終焉を迎えるようです。

Metro Style AppはたしかにWinRT上でJavaScript+HTML5+CSS3で開発することができ、ガジェットで培われたノウハウの一部は流用できる可能性はあるものの、ガジェットから単純に移行というのは難しそうです。利用者にとってもガジェットをデスクトップに常時複数表示させておき、作業中にもほかの情報を参照できるメリットが失われるのは厳しいものがあるように思います(Metro Style Appは一つだけクラシックデスクトップと同時に表示できる)。

告知も私の知るかぎりなかったですし、気づけばいきなり消滅していたという感じで、お困りの方も今後増えそうです(たしかにガジェットはいまいち流行ってなかったですがいきなりはヒドイ)。とりあえず現在追加インストールしているガジェットは、今後入手困難になる可能性が高いので、各自でバックアップを取っておくことをお勧めします。

.gadgetファイルそのものを保存していなくても、C:\Users\ユーザー名\AppData\Local\Microsoft\Windows Sidebar\Gadgetsの各サブフォルダがガジェット一つ一つに対応しているので、これをバックアップしておけば問題ありません。再インストールも単にこれらのファイルを同じ場所に書き戻すだけでOKです。

また、.gadgetファイルは単に関連ファイルをzipで固めたものなので、ご自分でこれらの各サブフォルダをzipにして.gadgetにリネームすればインストーラーを復元することもできます。

これらの措置は自己責任にてお願いします。各ガジェット作者のアナウンスがある場合はそちらに従ってください。

それにしても、WindowsデスクトップにHTML+スクリプトで記述されたミニプログラムを配置するといえば古くは「アクティブデスクトップ」まで遡ることになると思いますが、「ガジェット」で安定するかと思ったら二世代しか持ちませんでしたね。競合するGoogleデスクトップも終了しましたし、あまりウケがよろしくないんでしょうか。Metro Style Appはその点どうなんでしょうね?

元記事:http://blogs.wankuma.com/mutaguchi/archive/2011/10/09/204219.aspx

2011/03/19

リモートコンピュータをシャットダウンする
http://gallery.technet.microsoft.com/scriptcenter/d578bb1c-380e-4442-b967-4f5f50ca3d49

Technet スクリプトセンターに、リモートコンピュータをシャットダウンするPowerShellスクリプトを投稿しました。このスクリプトを利用すると、ActiveDirectoryドメイン内にある複数のWindows PC/サーバーを一括してシャットダウンすることができます。あらかじめ対象とするコンピュータの一覧とシャットダウンに必要な資格情報を出力して保存しておけば、タスクスケジューラなどで決まった時間に自動的に実行することも可能です。

3/11に東日本で発生した大地震とそれに伴う原発事故の影響で、関東地方および東北地方で計画停電が実施・予定されています。PC/サーバーのシャットダウン操作を行わずに電源供給が絶たれると、データの損失やハードウェアへのダメージが懸念されます。このスクリプトによってこれらの事態を回避する役に立てば幸いです。

Microsoftで公開されている他の障害対応・節電情報
マイクロソフト製品群のバックアップ、障害対応および節電に関する情報 | TechNet
停電に備え、節電して Windows PC を使用する方法

震災で亡くなられた方々のご冥福をお祈りするとともに、被害を受けた方々に心よりお見舞い申し上げます。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2011/03/19/197681.aspx

2010/03/11

PowerShell的システム管理入門
―― PowerShell 2.0で始める、これからのWindowsシステム管理術 ――

@ITでPowerShellを使ったシステム管理入門の連載を始めました。どうぞよろしくお願いします。

月1更新の全10回を予定しています。予定はこちら。

第1回:PowerShellの概要―今回。概要の解説
第2回:PowerShellの基礎―PowerShellの基礎解説
第3回:ファイル/レジストリの操作
第4回:サービス/プロセスの操作
第5回:イベント・ログの操作
第6回:システム情報(WMI)の取得
第7回:ActiveDirectoryの操作
第8回:IISの管理
第9回:Hyper-Vの管理
第10回:Exchange 2007の管理

これまでWebにあるPowerShell記事は商用記事、個人ブログ問わず、どちらかというと言語的アプローチが多かったと思うのですが、今回の連載はPowerShell言語にフォーカスするのではなく、システム管理シェルとしての機能にフォーカスしています。PowerShellの開発者がシステム管理者に使ってほしいと思っているであろうシステム管理機能を勝手にランキングし、上位を取り出して目次にしました。PowerShell 2.0の段階ではたぶんこのあたりが美味しいと思っています。どうでしょう。ほかにもバックアップとか、フェイルオーバークラスタリングとか、グループポリシーとか、サーバー製品群でもSQL Server 2008とかもありますが、まずはこの辺からかなぁと。

この間、PowerShell2.0の新機能についても記事書いたのであわせてどうぞ。

それと直前の告知になってすみませんですが、今週の土曜日、名古屋でPowerShell 2.0のセッションやります。お時間の都合がつくかたでご興味があればこちらもぜひどうぞ。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2010/03/11/187020.aspx

2009/01/04

仕事・私事ともにごたごたしてまして大変なのですが、皆様のおかげでなんとか年を越せました。

今年は、いろいろ見えないところも多いんですが、やはりScript系技術を中心に追っていこうと思っています。PowerShell v2を追いたいですし、DLRというかC#4.0/VB10/.NET 4.0がスクリプトに近いものになるのか見届けたいですし。レガシなASPやWSHもまだまだ遊べそうです。本業プログラマ副業ライター趣味スクリプト、という感じでやっていこうかと。あ、ディープな趣味はhttp://winscript.jp/blog/ でw

ここでTips。

Vistaを再インストールしたんですが、OfficeのSelfCert.exeによるコード署名ができなくなってしまいました。その復旧方法。

C:\Users\ユーザー名\AppData\Roaming\Microsoft\Crypto\RSA

を削除。以上。異常になったときも試してみるといいのでは。

だいたいAppDataをバックアップするのが間違いなんですがね。副作用が多いのですが環境がすぐに復帰するので私はバックアップしてます。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2009/01/04/165530.aspx

2007/06/09

20070609-gwmi-error

なんだこりゃ 

 set-psdebug -trace 2;してもよくわからないなぁ

PS C:\Windows\System32> set-psdebug -trace 2;
デバッグ:    1+ set-psdebug -trace 2;
PS C:\Windows\System32> gwmi win32_product
デバッグ:    1+ gwmi win32_product
デバッグ:    1+ $_.PSStandardMembers.DefaultDisplayPropertySet
デバッグ:    1+ $_.PSStandardMembers.DefaultDisplayPropertySet

IdentifyingNumber : {C63E7C60-25EB-11D3-8EDA-00A0C911E8E5}
Name              : Microsoft Outlook 個人用フォルダ バックアップ
Vendor            : Microsoft Corporation
Version           : 1.10.0.0
Caption           : Microsoft Outlook 個人用フォルダ バックアップ
デバッグ:    2+                                     if ($ErrorView -ne "CategoryView") {
デバッグ:    3+                                        $myinv = $_.InvocationInfo
デバッグ:     ! SET $myinv = 'System.Management.Automation.InvocationInfo'.
デバッグ:    4+                                        switch -regex ($myinv.MyCommand.CommandType)
デバッグ:   24+                                                if ($myinv.MyCommand.Name)
デバッグ:   26+                                                    $myinv.MyCommand.Name + " : "; break;
デバッグ:   26+                                                    $myinv.MyCommand.Name + " : "; break;
デバッグ:    2+                                     if ($_.InvocationInfo) {
デバッグ:    3+                                         $posmsg = $_.InvocationInfo.PositionMessage
デバッグ:     ! SET $posmsg = '
発生場所 行:1 文字:5
+ gwmi  <<<< win32_product'.
デバッグ:    7+                                     if ($ErrorView -eq "CategoryView") {
デバッグ:   11+                                         $_.Exception.Message + $posmsg
Get-WmiObject : エラーです
発生場所 行:1 文字:5
+ gwmi  <<<< win32_product

PS C:\Windows\System32>

こんな感じ

10/05追記。

荒井省三のBlog : [PS]WMIの取り扱いについて
http://blogs.msdn.com/shozoa/archive/2007/10/02/ps-wmi.aspx

ここに対処法が載せられています。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2007/06/09/80179.aspx

Copyright © 2005-2016 Daisuke Mutaguchi All rights reserved

mailto: mutaguchi at roy.hi-ho.ne.jp

Awards

Books

Twitter