VMwareとUSB機器の参照でトラブル

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機器の参照を諦めるしかないようです。
次のアップデートで対応してくれると期待しています。

Tags:

Hyper-V

宇宙からのメッセージ(嘘)

by manamana 2. 4月 2013 01:00

今年もエイプリルフールは各サイトがいろいろやっていたみたいです。

エイプリルフールに便乗しているサイトまとめ2013年版(GIGAZINE) 

個人的には、Google Analytics のネタにやられました。

 

これは Google Analytics の画面ですが、我が家に国際宇宙ステーションからのアクセスが!!!
・・・いやこれ、Google のエイプリルフールネタなんですけど、パっと見驚きました。

ISSのインターネット環境がどうなっているかはよくわかりませんが、宇宙から自宅HPにアクセスがあれば感動しますよね。
Google の手の込んだネタに感心しました。

昨日ちょいと首をひねってしまい、何事も進みません。何か良い治療はないかな~

Tags:

Excel で VMware も管理してみた

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 の気楽さはありませんが、本格的な運用には痒い所に手が届く感じでしょうか?
この際だからもっと強力な運用スクリプトを書いてみようかな~

Tags:

Hyper-V | PowerShell | VSTO

SharePoint 2010 をリモートから管理したい

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 を管理する準備が出来ました。

Tags:

PowerShell

SharePoint 2010 と PowerGUI

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 

Tags:

Development | PowerShell


スポンサーリンク

Calendar

<<  9月 2017  >>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar

Month List

Twitter