問題タブ [cmdlet]

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

powershell - GetEventLog CmdLet を使用してエラーが発生した PowerShell

PowerShell スクリプトを実行して、メッセージでフィルター処理しようとしています。

次のパラメーターを使用してスクリプトを実行しようとしています。

パラメータ 'Message' の引数を検証できません。引数が null または空です。NULL または空でない引数を指定して、コマンドを再試行してください。+ CategoryInfo : InvalidData: (:) [Get-EventLog]、ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError、Microsoft.PowerShell.Commands.GetEventLogCommand

何らかの理由で $server パラメーターをうまく処理しますが、$message 変数について不平を言う場合。

どうすればこれを修正できますか?

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

c# - プログラムでコマンドレットに渡されるすべてのパラメーターを知る方法は?

.netに顧客コマンドレットを実装しています。ユーザーが渡したすべてのパラメーターを知りたいのですが。

基本的に、ユーザーがこのコマンドレットをパラメーターfoo、bar、foobarを使用してプログラムで実行したことを知りたいです。

スクリプトでは、次を使用して実行できるように見えます:$ PSBoundParameters.ContainsKey('WhatIf')

.net(c#)でそれと同等のものが必要です

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

powershell - PowerShell パイプライン タイプをハッシュテーブル (またはその他の列挙可能なタイプ) に変更する

次のタスクを実行するコマンドレット「Convert-ToHashTable」を作成するのが好きです。

Import-csv は配列をパイプラインに配置しますが、Convert-ToHashTable コマンドレットで配列をハッシュテーブルに変更するにはどうすればよいですか? コマンドレットの Process 部分で要素にアクセスできますが、パイプライン自体のタイプを変更する方法がわかりません

Process { Write-Verbose "Process $($myinvocation.mycommand)" $CurrentInput = $_ ... }

完全なハッシュテーブルを新しいパイプラインとして返す方法、またはタイプ ハッシュテーブルで新しいパイプラインを作成する方法はありますか?

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

powershell - Powershellカスタムコマンドレット-バックグラウンドスレッドでWriteObjectを呼び出す

バックグラウンドスレッドからWriteObjectメソッドを呼び出すことはできません。

(WPFのように)PowerShellのメインスレッドでこのメソッドを呼び出し/ディスパッチする可能性はありますか?

コードサンプル:

編集: スレッドからWriteObjectメソッドを呼び出した後に発生したエラー

解決策、回避策、または迅速な修正はありますか?

thx、マティアス

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

c# - c#でPowershellコマンドレット間でプロパティとコメントを共有することは可能ですか?

Powershell コマンドレットで一連の関連関数を公開する場合、プロパティ名と概要ヘルプを共有して、アセンブリ内のコマンドレット間でこれらを正規化することはできますか?

これは派生クラスで実行できることはわかっていますが、共有するプロパティが異なる複数のコマンドレットがある場合、このソリューションはせいぜい扱いにくいものです。

これは非常に単純な例です。プロパティ 'Name' と関連するすべてのコメントを共有して、作成している N 個のコマンドレットで同じになるようにしたいのですが、C# でこれを行う良い方法が思いつきません。理想的には、任意の共有により、Mandatory や Position などの Parameter 属性を指定できるようになります。

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

powershell - CSV PowerShell から行を削除する

私は現在、次のcsvを持っています

csvを作成するプロセスを単純に変更して、不可能なダッシュの行を削除できればいいのにと思います。

ダッシュの行は常に 2 行目ですが、powershell を使用して 2 行目のデータを削除できますか?

おまけの質問ですが、一番下に空白行を追加し、その後にテキストの段落を追加したいと考えています。add-content コマンドレットを使用できると思いますが、その方法は完全にはわかりません。

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

powershell - エクスプローラーメニューからPowerShell変数へのフォルダーパスを取得します

PowerShellからエクスプローラーウィンドウを開き、エクスプローラーで選択したパスを変数に保存することは可能ですか?

PowerShellからエクスプローラーウィンドウを開くには

PS C:>エクスプローラー

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

c# - PowerShell コマンドレットで親子関係をナビゲートする

次のような親子関係を持つオブジェクトがあるとします。

ここで、次のような構文をサポートするコマンドレットを作成したいと思います。

ここで、Parent プロパティは、何らかの方法でパイプライン内の別のオブジェクトを参照する必要があります。このようなことは PowerShell でも可能ですか? そうでない場合、代替手段は何ですか?

[編集] 上記のクラスを次のように使用すると:

次に、モジュールをロードして、次のコマンドを試してください。

次のエラーが表示されます。

Parent プロパティが、実際の Node オブジェクトのようにパイプライン内の別のオブジェクトを参照するようにしたいと考えています。

[編集] このエラーは、クラス定義にない public キーワードが原因でした。キーワードを追加すると問題が修正され、例が機能するようになりました。

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

sql-server - osql vs Invoke-Sqlcmd -- 後者の出力のリダイレクト

osql を呼び出すバッチ ファイルから、Invoke-Sqlcmd コマンドレットを使用する Powershell スクリプトに移行しています。

osql で -o フラグを使用して、後者の場合に出力をリダイレクトするための同等の手順を知っている人はいますか? osql 出力ファイルを見て、それに応じて動作するいくつかの後処理手順があります (これらのログが X バイトを超える場合はエラーを報告します)。Invoke-Sqlcmd が、同じ SQL コマンドが入力された場合に同じ出力情報を複製できれば、非常に気に入っています。

現在、スクリプトで を呼び出す予定ですInvoke-Sqlcmd <...> | Out-file -filepath myLog.log。これが大丈夫か、理にかなっているのか誰にもわかりますか?

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

security - PowerShell の Set-GPPermissions コマンドレットを使用して GPO セキュリティ フィルターを設定する

Microsoftによると、コマンドレットSet-GPPermissionsはオプション「-replace」を受け入れます。

「これにより、既存のアクセス許可レベルが新しいアクセス許可レベルに置き換えられます。」

PowerShell から GPO をインポートします。その後、セキュリティフィルターを設定したいと思います。インポート後、セキュリティ フィルターを設定する前は、GPO のセキュリティ フィルターは「認証されたユーザー」です。ここで、そのフィルター オプションを削除し、"myGroup" に置き換えます。そのために、次のコマンドを使用します。

その結果、「myGroup」を参照する新しいセキュリティ フィルタが追加されましたが、グループ「Authenticated Users」は削除されていません。Powershell コマンドレットはフィルターを置き換えるのではなく、追加します。

ヒント?

前もって感謝します!