SSブログ

PowerShellスクリプトを動かす [How to]

Windows PowerShell での UI テスト自動化と言う記事がMSDNにあるがこのページに載っているスクリプトを動かすのに苦労した。
後でまとめるつもりだがとりあえず記述する。
PowerShell には標準では任意のウインドウを操作する機能は無いみたい。
C#でPowerShell 用の機能を作成する。

上記のページからダウンロードしたTestRun2007_12.exe の中に含まれているC#のソリューションがVS2005のものでVS2010で開くと読込み専用なので変換できないといわれる。
フォルダのプロパティでセキュリティタブでがフルアクセス可能でもいわれる。
よくわからず悩んだが全般タブに属性で読取り専用の項目がありチェックが入っている。
チェックを外す。
VS2010で開くことが出来る様になった。

ソリューションエクスプローラーからcsファイルを開こうとするとエラーになり開けない。
[開く]だとデザイナで開こうとするのでエラーになる。
[開く]ではなく[コードの表示]を選ぶ。
これでcsファイルを見ることが出来る。
デザイナで開こうとするのでエラーになるのはclass LibPSSnapinが原因。

スクリプトを実行しようとしたら実行できない。
about_signingを見ろといわれるの見ることにする。
get-help about_signing
スクリプトを実行するにはスクリプトに署名が必要らしい。
(署名がなくても実行する方法はある。)

about_signingには証明書を作成するには書かれている内容をそのままコピペしろと書かれている。
だがコピペするとエラーになる。
PowerShellではパスが通っていない。
Visual Studio コマンドプロンプトでもオプションがおかしいといわれエラーになる。
一旦エディタにペーストし1行のコマンドにして’(シングルクォーテーション)を削除する。
makecertが失敗して終了する。
Visual Studio コマンドプロンプトを管理者権限で起動する。
今度は成功する。

Microsoft.PowerShell_profile.ps1に署名をし実行する。
まだ実行できない。
PowerShellスクリプトの実行ポリシーが「すべてのスクリプトが実行禁止」になっている。
実行ポリシーをAllSignedに変更する。

Microsoft.PowerShell_profile.ps1は実行出来る様になったがスクリプトで指定しているフォルダがなくエラーになる。
指定されているフォルダを自分の環境に合わせて書き直し実行。
改ざんされた可能性があると言われ実行できない。
変更するたびに署名する必要がある。
めんどくさい。

まだエラーになる。
エラーの細かな状況が表示されないので表示されようにスクリプトを変更。
(表示はされなくてもインストールログには記述されているのでそちらを見てもOK)
署名をして実行。
レジストリにアクセスできずエラーになっているみたい。
実行するためには管理者権限が必要。
PowerShellを管理者権限で起動する。
一つ目のエラーは取れたが2つ目のエラーが取れない。


32bitをターゲットとして作成したCustomUICmdletsLib.dllは64bitのPowerShellでは実行できない。
64bitをターゲットとして作成するかPowerShell(x86)で実行する。

あちこちでけつまずいたがその分たくさん勉強できた。

もしかしたらスクリプトの中で追加している実行パスが,NET Freamwork 2.0なことではまる人がいるかも。
.NET Framework 2.0を入れるかスクリプトを自分の環境に合わせて変更する。

2012/03/31
間違っていた。
AnyCPUをターゲットとして作成した場合32ビット、64ビットどちらでも実行できる。
どちら側にインストールされるかはinstallutil.exeが32ビット版か64ビット版かで決まる。
64bitのdllを32ビット版のinstallutil.exeでアンインストールしようとしたときに下記のエラーがでてアンインストール出来ない。

CustomUICmdletsLib.dll'、またはその依存関係の 1 つが読み込めませんでした。 間違ったフォーマットのプログラムを読み込もうとしました。

64bitのdllをアンインストールするには64bit版のinstallutil.exeを使用する。

DLLをアンインストールするにはDLL自体が必要、
DLLがないと下記のエラーになる。

CustomUICmdletsLib.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

ここでいうインストールとは登録のような意味らしい。
nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 2

Janhaub

Walmart Propecia Price <a href=https://apcialisle.com/#>п»їcialis</a> Propecia Forehead Some <a href=https://apcialisle.com/#>Cialis</a> Amoxicillin Sans Prescription
by Janhaub (2020-03-22 11:16) 

Janhaub

Viagra Ordonnance Obligatoire <a href=https://abcialisnews.com/#>cialis generic</a> Amoxicillin And Blood Pressure <a href=https://abcialisnews.com/#>buy cialis canadian</a> Viagra GСЂВ nСЂВ rique QuСЂВ bec
by Janhaub (2020-04-26 07:34) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。