問題タブ [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.
c# - C# での Powershell Sqlcmd ポップアップ
Powershell スクリプト myscript.ps1 を実行する PSHost オブジェクトがあり、その .ps1 スクリプトは必要なことを実行するために sqlcmd.exe を実行しています。空の sqlcmd dos プロンプトが表示されないようにする方法はありますか?
c# - c# powershell スクリプトの実行から $lastexitcode を抽出する方法
コード プロジェクトの powershell 非同期実行コードを使用して、C# でスクリプトを実行しています。
$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 が返されます。
それは本当にあなた自身の終了コード定義を定義することに依存します。0 と 1 のサフィックスだと思います。
ボブをよろしく。
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 コマンドレットのサポートを追加する必要があるということですか?
このコマンドを機能させる代替手段はありますか?
どんな助けでも大歓迎です。
ありがとう、
マニッシュ
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
。達成したい結果を得るにはどうすればよいですか?
コード:
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 メソッドです。これで自分を蹴るのをやめたいです。:)