問題タブ [cmdlets]

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 投票する
13 に答える
2420 参照

powershell - お気に入りのPowershellコマンドレットは何ですか?

/nソフトウェアの無料のPowershellNetCmdletsを見つけました。それらを試してみた後、コマンドラインに提供される機能が気に入っています。それで、あなたのお気に入りのコマンドレットは何ですか、そしてそれらをどのように使用するのかという疑問が生じます。

0 投票する
4 に答える
2561 参照

c# - 独自の PowerShell CmdLets を使用して、C# Windows サービスに管理コマンドを送信する

サービスを実行する C# Windows アプリケーションがあります。実行中のサービスを管理するためのコマンド ライン管理インターフェイスを提供するために、PowerShell を活用したいと考えています。

私の見解では、Exchange 2007 と同じ管理インターフェイスを提供しようとしています。

実行中のサービスに「接続」して管理コマンドを照会または送信するために、管理コマンドレットを開始/設計する方法に関する提案またはサンプル コードはありますか?

powershellコマンドラインからサービスの内部ランタイム状態にアクセスするにはどうすればよいですか? たとえば、Get-ConnectionsInfo というコマンドレットを実装して、コマンドレットの実行時に Windows サービスが使用している送信接続の数を調べたいと考えています。

実用的な例または例への Web リンクは大歓迎です。

ありがとう、ロバート

0 投票する
10 に答える
26593 参照

windows - PowerShell コマンドレットのソース コードを確認できますか?

私はいくつかのPowerShellを学んでいます。Get-ChildItem のような組み込みコマンドレットのソース コードを確認することはできますか?

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

c# - 外部クラス ライブラリ呼び出しで破棄されたオブジェクト エラーにアクセスできません

Powershell と Exchange2007 コマンドレットを使用して Exchange でユーザー アカウントをプロビジョニングする Windows フォーム アプリがあります。このアプリケーションには、新しいユーザーの情報を取得して Powershell コマンドを実行するフォームが 1 つだけあります。優れたプログラマーのように、コードをリファクタリングし、Exchange と Active Directory のすべての呼び出しを取り出して、それらを別のクラスに配置しました。Windows フォームでは、ボタンの Click イベントで次のコードを呼び出します。

クラス自体には、次のものがあります。

thisPipeline.Invoke がエラーを引き起こし、何が Disposed なのかわかりません。このコードは、フォームのコードビハインドにある場合、完全に正常に機能しました。また、別のクラス ライブラリに取り出した Active Directory メソッドもいくつかありますが、それらは正常に動作しているようです。

これが起こらないようにするにはどうすればよいですか?ありがとう!

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

.net - SnapIn を使用せずに Powershell SDK にカスタム フォーマットを追加する

スクリプトの実行に PowerShell SDK を使用する .NET/C# 2.0 アプリケーションを開発しています。私はスナップインを使用していません。PSのRunspaceConfigurationを介してすべてを直接設定しています。

したがって、私の問題は、アプリケーションに実装されているタイプPlux.ExtensionTypeInfoのカスタム形式を追加できないことです。

( Plux.ExtensionTypeInfoには Name というプロパティがあります)

それが私が試していることです:

plux.format.ps1xml:

いくつかの ExtensionTypeInfo オブジェクトを返すコマンドレットを実行した後、出力は決して書式設定されません。

組み込みのコマンドレットとタイプを使用すると、フォーマットは PS ホスト アプリケーションで完全に機能します。コマンドレットの登録も、構成オブジェクトを介して正常に機能します。powershell.exe または私のホスティング アプリケーションを使用してplux.format.ps1xmlでupdate-formatdataを起動すると、エラーはスローされません。

それでも、上記のコードはフォーマットには影響しません。

0 投票する
6 に答える
6360 参照

c# - PowerShell コマンドレットのパラメーター値が指定されているかどうかを確認するにはどうすればよいですか?

PowerShell 1.0 で、列挙型のコマンドレット パラメーターがある場合、ユーザーがコマンドレット コマンド ラインでそのパラメーターを指定したかどうかをテストするための推奨される方法は何ですか? 例えば:

isEnabled にダミー値をシードすることなくこれを行う方法はありますか? デフォルトでは 0 になります。すべてのパラメーターをシードしたり、列挙型にダミー値を追加したりする必要はありません。数百のパラメーターを持つ多くのコマンドレットを潜在的に持っている可能性があります。より良い方法が必要です。これはこの質問に関連していますが、これを行うためのよりクリーンな方法を探していました。ありがとう。

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

powershell - BeginProcessing が呼び出されるまで PowerShell がパイプライン パラメーターをバインドしないようにするにはどうすればよいですか?

パイプラインの途中で呼び出すことができるコマンドレットを作成しています。このコマンドレットには、ValueFromPipelineByPropertyName属性が定義されたパラメーターがあり、コマンドレットは以前にパイプラインで定義された同じ名前のパラメーターを使用できます。

私が遭遇したパラドックスは、オーバーライドされたBeginProcessing()メソッドにあります。パイプラインからバインドされた値を取得できるパラメーターの 1 つを利用します。Cmdlet Processing Lifecycleによると、パイプライン パラメーターのバインディングは BeginProcessing()が呼び出されるまで発生しません。したがって、 BeginProcessing()で使用しようとしている場合、パイプラインにバインドされたパラメーターに依存できないようです。

ProcessRecord()メソッドに移行することを考えました。残念ながら、発生する必要がある 1 回限りの比較的高価な操作があります。これが発生するのに最適な場所は、パイプラインで一度だけ発生することを保証するために、 BeginProcessing()メソッドにあるようです。

これに関するいくつかの質問:

  1. これを回避する良い方法 はありますか?
  2. これらの同じパラメーターには、必須属性も設定されています。これらの必須パラメーターがないことについて PowerShell が不平を言うことなく、どうすればここまで到達できるでしょうか?

ご意見ありがとうございます。


アップデート

パイプラインにバインドされたパラメーターを十分に理解していないことに気付いたので、質問の2番目の部分を取り出しました。パイプラインにバインドされたパラメーターは、パイプラインで実行された以前の コマンドレットからのものであると誤って考えました。実際には、パイプラインを通過するオブジェクトから取得されます! これを理解するために、Keith Hillの投稿を参照しました。

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

powershell - PowerShell コマンドレットまたは関数を自分のマシンに追加して、いつでも使用できるようにするにはどうすればよいですか?

新しい PowerShell コマンドレット (または関数) を見つけた (または作成した) 場合、それをマシンに追加するにはどうすればよいですか?

  • 特定のフォルダにコピーしますか?
  • そのコンテンツを特定のファイルに入れますか?
  • 承認、署名、または何らかの方法で許可を与える必要がありますか?

1 回のセッションだけで使用したくありません。このマシンで PowerShell を使用するときはいつでも利用できるようにしたいと考えています。

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

c# - PowerShell コマンドレット パラメーターの検証

カスタム PowerShell コマンドレットを作成していますが、パラメーターを検証する適切な方法を知りたいです。
これは、プロパティ セット アクセサーまたはコマンドレットの実行中に実行できると考えました。

「標準的な」アプローチはどれですか? プロパティ セッター、ProcessRecord、またはまったく別のものですか?

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

powershell - Cmdlet.EndProcessingとCmdlet.StopProcessingの違い

Powershellコマンドレットを作成する場合、 EndProcessingStopProcessingの違いは何ですか?それらは同じように聞こえ、説明はほぼ同じであり、後者はコマンドレットのライフサイクルドキュメントには表示されません。