by manamana
18. 4月 2013 16:00
USB機器を扱うことにおいて、VMware vSphere は Hyper-V より遥かに柔軟です。
ハイパーバイザーの vSphere 4.1 では USBパススルー機能でホストに接続されたUSB機器を使えるようになっていたし、
現在の vSphere 5 では vSphere Client を動作させているPC(=ローカルPC)に接続されたUSB機器が使えます。
もちろん、 エミュレーターである VMware Player は当たり前のようにUSB機器が使えます。
Hyper-V には直接USB機器を扱うパスが用意されていません。
RemoteFX USB 使って一部の USB機器を使える様になっていますが、これはリモートデスクトップ側の技術だと理解しています。
エミュレーターの Virtual PC (≒XP Mode)ではそれなりに使えるのですが…残念
VMware の柔軟さに満足していたのですが、先日トラブルに遭遇したのでメモっておきます。
vSphere Client 5.1 と VMware Player 5.02 (現行の最新版)を両方インストールした環境で、
vSphere Client からはローカルPC上のUSB機器が参照できないというものです。
vSphere Client と VMware Player が同居する環境 → 参照不可
vSphere Client だけの環境 → 参照可
VMware で USB機器を制御しているのは VMware USB Arbitration Service というサービスです。
その実態である vmware-usbarbitrator64.exe を比較してみると、VMware Player の物が若干新しいことが判明しました。
VMware Player 5.02用
vSphere Client 5.1用
トラブル機では新しいVMware USB Arbitration Serviceが動いていたので、それを古いバージョンで上書きした所、
vSphere Client から USB機器が参照できるようになりましたが、逆に VMware Player で参照不可に…
要するに互換性が無いのが原因でした。
そもそもこの2つを同居させることは少ないと思いますが、現状ではどちらかのUSB機器の参照を諦めるしかないようです。
次のアップデートで対応してくれると期待しています。
17085bf0-2724-4102-ab17-6816275233be|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Hyper-V
by manamana
2. 4月 2013 01:00
今年もエイプリルフールは各サイトがいろいろやっていたみたいです。
エイプリルフールに便乗しているサイトまとめ2013年版(GIGAZINE)
個人的には、Google Analytics のネタにやられました。
これは Google Analytics の画面ですが、我が家に国際宇宙ステーションからのアクセスが!!!
・・・いやこれ、Google のエイプリルフールネタなんですけど、パっと見驚きました。
ISSのインターネット環境がどうなっているかはよくわかりませんが、宇宙から自宅HPにアクセスがあれば感動しますよね。
Google の手の込んだネタに感心しました。
昨日ちょいと首をひねってしまい、何事も進みません。何か良い治療はないかな~
2008aa30-a5bd-428c-a39a-59cf20e17c51|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
by manamana
27. 3月 2013 14:30
先日 Excel PowerShell Tool を使って Hyper-V を管理してみましたが、
同様の仕組みを VMware に移植してしてみました。
VMware のハイパーバイザーは有料だと思い込んでいたのですが、
VMware vSphere Hypervisor(ESXi) は無料で利用できると知りました。
このような美味しいシステムを知らずにいたとはお恥ずかしい…
PowerShell 用のコマンド群 VMware vSphere PowerCLI も用意されています。
これはもう PS Tool で利用するしか! と思ったのですが、結構大きな問題が出ました。
VSTO のアプリケーションドメインは、アセンブリのシャドウコピーを利用する設定になっています。
この状態で Runspace を作り、Add-PSSnapin "VMware.VimAutomation.Core" を実行すると、
VMware 関連の DLL もシャドウコピーが作られてしまい、スナップインが機能しません。
SharePoint 用のスナップイン等、GAC に登録されているアセンブリにはシャドウコピーが発動しないのですが、
VMware のコマンドレットには厳密名が付与されていないので GAC には登録出来ません。
さて困った…
シャドウコピーしなくても殆ど問題は無いはず(それどころかシャドウコピーで障害が発生する)なので、
シャドウコピーを作らない PS Tool を(無理やり)作ったところ、ちゃんと動いてくれました。
VMware vSphere PowerCLI は GAC に登録するべき製品だと思うのですが、とりあえず良しとしましょう。
このバージョンの PS Tool はVSTOの設定を無効にしているので副作用が予想されます。
暫くテストをした後に公開しようと思っていますが、そんなの全然大丈夫な方はご連絡ください。
無料とはいえ ESXi は高機能です。
Hyper-V の気楽さはありませんが、本格的な運用には痒い所に手が届く感じでしょうか?
この際だからもっと強力な運用スクリプトを書いてみようかな~
9f233610-eaab-4c12-b802-1cc7efe4ee1a|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Hyper-V | PowerShell | VSTO
by manamana
17. 3月 2013 14:30
SharePoint 2010 には多数の専用コマンドレットが用意されています。
これらをインストールしたサーバー上で使う時には問題が出ませんが、外部のPCからリモートで、
つまり WinRM 経由で呼び出すと何かと不具合が出ます。
先日作った、Get-SPDocumentPage.ps1 というスクリプトファイルがあります。
これを普通に起動すると…
普通に動きますww しかし、Invoke-Command -ComputerName xx で呼び出すと…
なにやら不穏なエラーが返ります。 しかもこのエラー、時々内容が変わります。
いろいろ調べてみたところ、PowerShell をリモート経由で呼び出す場合、SharePoint 用のコマンドレットのような大規模なものは
メモリー不足に陥りやすい事が判明しました。 回避するには WSMan プロバイダーの設定を変更してやる必要があります。
WSman:\localhost\shell に移動して、 MaxMemoryPerShellMB の値を大きくしてやります。
初期値が 150 なので 1024 にしてみました。
これで余裕が生まれ、リモートコマンドが成功します。
Invoke-Command でリモート実行すると、自動的に PSComputerName, RunspaceId というプロパティが追加されます。
便利な様で意外に邪魔だったりします。
Invoke-Command 時に -Credential オプションを指定せず、実行ユーザーの認証情報を使いたい場合には
Credential Security Provider の設定をする必要があります。
クライアントPCで
> Enable-WSManCredSSP -role client -DelegateComputer sp2010 (※sp2010 はサーバー名)
サーバーで
> Enable-WSManCredSSP -role server
としてやればOKですが、セキュリティレベルの低下に繋がるので要注意です。
これで Excel PowerShell Tool から SharePoint 2010 を管理する準備が出来ました。
2c546cf0-4093-404c-8fc7-b53c5241ecc5|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
PowerShell
by manamana
13. 3月 2013 12:30
PowerGUI は PowerShell スクリプトの開発にとても役に立つツールです。
しかし SharePoint 2010 がインストールされた環境にうっかり .Net Framework 4 を入れてしまうと悲しい思いをします。
これは先日の Excel PowerShell Tool の件と同様で、Runspace を作る際の CLR が4.0.xx になるからです。
しかし、exe の場合は app.config の編集でこの問題を回避出来ます。
PowerGUI の場合、C:\Program Files (x86)\PowerGUI\ScriptEditor.exe.config を編集します。
先頭の方にある上の行が邪魔をしています。
本当はこれは 「わざわざ CLR V4 を利用する」 指定なんですが、SharePoint 2010 の場合はこれが災いを招きます。
すっきりしまた… これで SharePoint のコマンドレットも動いてくれます。
PS Tool の場合もこれで回避できると思ったのですが、VSTO 自体が Framework 4 必須なのでうまくいきませんでした...orz
SharePoint は機能は豊富ですが、今ひとつ使いにくいのは GUI が遅くメニューが深いからでしょうか?
せめて HTML を直接編集出来れば…と思い、コツコツ作っているのが ↓ です。
これは "チームサイト" の HTML を抽出したものです。
SharePoint では Webパーツの組み合わせで素早くページを作れますが、HTMLで編集するにはこれが邪魔になります。
<div class="ms-xxxxxxx"> なんかで挿入される Web パーツはページのHTMLからは把握出来ません。
といっても、 Webパーツで HTML 記述するのはコンテンツエディター位なので、それに限定すればHTMLの抽出は可能です。
あとはそれを Excel に落としてやれば好きに出来ますねww
219e0587-ddb1-471a-8f78-017b20bd36ab|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development | PowerShell