問題タブ [powershell-5.0]
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.
powershell - v5 の特別なメソッド `New` は静的メソッド `New` と競合します
PowerShell v5 には新しい機能が付属しています。オブジェクトの昔ながらの作成の代わりに
新しい構文を使用することが可能です
ただし、新しい構文には問題があります。クラスに静的メソッドがある場合、
New
それを直接呼び出すことはできなくなります。PowerShell は、この静的メソッドではなく、コンストラクターを呼び出そうとしていると考えているようです。
私の実際の問題はここでは説明できないので、例として既存のクラスを使用します。
このコードは PowerShell v4 で動作します
静的メソッドNew
を呼び出して式を作成します。
v5では失敗します
New
問題は、PowerShell v5 で静的メソッドをどのように呼び出すかです。
windows - getElementById() を呼び出すときの「不明なエラー」
以下のスクリプトを実行すると、このエラーが発生します。同じ出力についても言及されています。エラーを確認しましたが、修正が見つかりませんでした。PowerShell バージョン 5.0.10586.0 で Windows 10 を使用しています。このエラーを解決するために誰かの支援を求めてください。上記の URL と実行可能ファイルのメモ帳で開く IE のみが表示されます。スクリプトは自動ログインを実行できません。
出力:
脚本:
powershell - Powershell 5.0 クラスでのカスタム タイプの使用
現時点で多くの頭痛の種となっているコード例を次に示します。
このクラスは次のように使用できます
基本的に、私がやろうとしているのは、型としてから関数をインポートし、user32.dll
この[Win32.NativeMethods]
型を で使用することclass
です。
Add-Type
タイプでステートメントを個別に実行すると、Powershell_ISE
作成された後、スクリプトは正常に機能します。
ただし、タイプを手動で作成する前にスクリプト全体を実行しようとすると、次の Powershell パーサー エラーが発生します。
パーサーがAdd-Type
ステートメントを無視し、実行前に終了しているようです。
この問題を克服する方法はありますか? 多分using
声明で?または、型が動的に作成されたことをパーサーに伝える方法はありますか?
編集1:
Using .Net Objects within a Powershell (V5) Classへの回答を読みましたが、受け入れられた回答は私の質問に対する回答ではありません。単純なスクリプトを複数のファイルに分割することは、実際には答えではありません。
私が求めているのは、タイプが動的に作成されたことをパーサーに伝える方法があるということです。
編集2:
これをもう少し明確にするために、上記と同等のコードを次に示しますが、functions
代わりに を使用して実装されていclasses
ます。
このコードは完全に正常に解析および実行されます。classes
スクリプトの残りの部分とは異なる方法でパーサーによって処理されますか?
powershell - Powershell で「区切り文字」をバインドする
export-csv
この機能を使用してデータを csv ファイルにすばやくエクスポートできることは知っていますが、エラーが発生し続けます。
Export-csv: パラメータ 'Delimiter' をバインドできません。
値 "C:\Test" を System.Char 型に変換でき
ません エラー: 文字列は正確に 1 文字の長さでなければなりません
これは私のpowershell構文です-エクスポートしたいデータには、\
またはその-
中に
powershell - サービスが実行中か停止中かを確認し、それに応じて出力します
Powershell を使い始めたばかりで、いくつかの基本的なスクリプトを実行したいと考えています。
MSSQLSERVER が実行中か停止中かを確認し、それに応じてメッセージを出力するスクリプトを作成することから始めます。
これは私がこれまでに持っているものです...
ただし、これを (Powershell ISE 内で) 実行すると、「SQL Server が実行されているかどうかを確認しています...」という最初の行だけが表示されます。
私はこれで何が間違っていますか?
powershell - コンソールで構文の強調表示をオフにする方法は?
PowerShell を白い背景に黒いテキストにしたいだけです。ただし、PowerShell v5 ではコマンドが強調表示されて黄色になり、見ることができません。PowerShell ですべての構文の強調表示をオフにする方法はありますか?