問題タブ [pshost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
738 参照

c# - C# での Powershell Sqlcmd ポップアップ

Powershell スクリプト myscript.ps1 を実行する PSHost オブジェクトがあり、その .ps1 スクリプトは必要なことを実行するために sqlcmd.exe を実行しています。空の sqlcmd dos プロンプトが表示されないようにする方法はありますか?

0 投票する
3 に答える
6547 参照

c# - c# powershell スクリプトの実行から $lastexitcode を抽出する方法

コード プロジェクトの powershell 非同期実行コードを使用して、C# でスクリプトを実行しています。

http://www.codeproject.com/KB/threads/AsyncPowerShell.aspx?display=PrintAll&fid=407636&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2130851#xx2130851xx

$lastexitcode を返す必要があります。Jean-Paul は、カスタム pshost クラスを使用してそれを返す方法を説明しています。終了コードを返す pshost のメソッドまたはプロパティが見つかりません。

私が持っているこのエンジンは、スクリプトが正しく実行されるようにする必要があります。

どんな助けでも大歓迎です。

ボブをよろしく。

その $lastexitcode と $? 戻す必要がある変数。

こんにちは、やっと答えました。
$host 変数について知りました。ホスト、具体的にはカスタム PSHost オブジェクトにコールバックを実装し、$lastexitcode を返すことができるようにします。$host の説明へのリンクを次に示します。

http://mshforfun.blogspot.com/2006/08/do-you-know-there-is-host-variable.html

PowerShellドキュメントではいつものように、あいまいで、文書化が不十分なようです。ここで説明するように、ポイント 4 を使用して、$host.SetShouldExit(1) を呼び出すと、pshost の SetShouldExit メソッドに 1 が返されます。

http://msdn.microsoft.com/en-us/library/system.management.automation.host.pshost.setshouldexit(VS.85).aspx

それは本当にあなた自身の終了コード定義を定義することに依存します。0 と 1 のサフィックスだと思います。

ボブをよろしく。

0 投票する
3 に答える
8657 参照

powershell - PowerShell で実行空間を使用してリモート セッションを確立して開始する方法

C# コード内で、マシン A からリモート ホスト B とのセッションを確立しようとしています。そのために実行空間 API を使用しています。コードスニペットを以下に示します

このコードは、マシン TS-TEST-09 とのセッションに入り、そのマシンに存在するスクリプト helper.ps1 を呼び出すことが期待されます (現在、リモート ホストとのセッションに入ることができないため、その部分はコードでコメント アウトされています) )。

今問題は、-Session パラメータ (scripttext3 で強調表示) を使用してセッション $s に入ることができないことですが、-Computername パラメータを使用して入ることができます。

scripttext3 で -Session パラメータを使用すると発生するエラーは次のとおりです。

invokedSystem.Management.Automation.Internal.Host.InteralHost.GetIHostSupportsInteractiveSession() で

invokedSystem.Management.Automation で。Internal.Host.InteralHost.PushRunspace(実行空間実行空間)

Microsoft.Powershel.Commands.EnterPSSessionCommand.ProcessRecord() で

System.Management.Automation.Cmdlet.DoProcessRecord() で

System.Management.Automation.CommandProcessor.ProcessRecord() で

内部例外スタック トレースの終わり


カスタム PSHost を作成し、このパラメーターを使用して Enter-PSSession コマンドレットのサポートを追加する必要があるということですか?

このコマンドを機能させる代替手段はありますか?

どんな助けでも大歓迎です。

ありがとう、

マニッシュ

0 投票する
0 に答える
285 参照

c# - PSHost PromptForChoice 形式 ChoiceDescription

私のPSCmdletクラスでは、ユーザーに で選択するように求めていますPromptForChoice。ユーザーは、使用する接続文字列を選択するよう求められます。ChoiceDescriptions私は正しいフォーマットを与えることができません。

これをくれる

接続文字列

使用する接続文字列を選択します

[0] 0data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true

[1] 1有効な接続文字列。

[2] 2Data Source=111.111.1.1;Initial Catalog=Test;User id=User;Password=Password;MultipleActiveResultSets=true

[?] ヘルプ (デフォルトは「0」):

ご覧のとおり、数字は接続文字列のテキストにも含まれていますが、これは私が望んでいるものではありません。

これは私が達成しようとしているものです:

[0] データ ソース=.\SQLEXPRESS;統合セキュリティ=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;ユーザー インスタンス=true

などなど

結果として、ユーザーの選択が必要になりますint。達成したい結果を得るにはどうすればよいですか?

コード:

0 投票する
1 に答える
80 参照

c# - 複雑なコマンドを使用した Powershell 出力のレンダリング

C# アプリケーションを介して PS1 ファイルを実行し、重大度に基づいて出力をキャプチャ/セグメント化しようとしています。エラー、デバッグ、情報など。これは Windows フォーム アプリケーションです。ボタンのクリックで呼び出す Run メソッドは次のとおりです。

AddInfo メソッド内で、UI レイヤーへのスレッド アクセスをチェックしています。

私のPS1ファイルの内容は次のとおりです。

私が見ているのは「Test-Before」であり、それだけです。すべての出力ストリームは、Get-WebBinding コマンドの後、何も受信していないようです。Out-Default、Out-String、さらには Out-File を追加してみました。何も機能していないようです。

ここに描かれていないのは、Error、Debug、Verbose、Progress、および Warning を含む他のストリームの DataAdded メソッドです。これで自分を蹴るのをやめたいです。:)