問題タブ [scriptblock]

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 に答える
3723 参照

powershell - 複数のscriptblockパラメーターを持つPowershell関数

複数のscriptblockパラメーターを受け入れるPowershell関数を作成できませんでした。これが簡略化されたテストスクリプトです。複数のスクリプトブロックの問題は何ですか?

これにより、次の出力が生成されます。

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

powershell - PowerShell ScriptBlock と複数の関数

私は次のコードを書きました:

GetBar動作しますが、内部で定義したくありませんGetFoo

このようなことはできますか?

基本的に、必要な関数を ScriptBlock に選択的に配置し、そのうちの 1 つを呼び出しています。この方法では、関数内で関数を定義する必要がなく、その ScriptBlock の一部になりたい関数を注入することで ScriptBlock を構築できます。

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

powershell - ScriptBlock内にPowerShellファイルを含める

私は次のコードを書きました

。\MyFunctions.ps1という用語はコマンドレットとして認識されないため、これは機能しません。

スクリプトブロック内にファイルを含めることができないのはなぜですか?

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

powershell - 名前付き関数をパラメーターとして渡す方法 (スクリプトブロック)

古典的な一階関数の例を見てみましょう:

これはうまくいきます:

これはしません:

Get-MyName が評価され、値自体として渡されないためです。Get-MyName を値として渡すにはどうすればよいですか?

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

powershell-remoting - PowerShell スクリプトブロックの値は何ですか?

PowerShell リモート処理を使用してリモート コードを実行しようとしていますが、説明できない奇妙な動作が発生します。これは私が実行する一連のコマンドです。

この動作の理由を知っている人はいますか? とても奇妙だと思います。return ステートメントは無視され、scriptblock は最初の「キャプチャされていない」式に評価されます。うーん?

また、このブロックを常に return ステートメント、または最後のステートメントに評価したい場合、それを達成する方法を誰かが知っていますか?

0 投票する
5 に答える
15514 参照

powershell - Powershell セッションを開始し、ローカル変数を渡す Powershell Start-Process

Powershell Start-Process コマンドレットを使用して新しい Powershell セッションを開始し、ローカル変数 (そのうちの 1 つは配列になります) を含むスクリプト ブロックを渡す方法はありますか?

例:

ありがとう。

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

powershell - v2/v3 を処理する Powershell Scope への文書化されていない変更?

背景: Windows Server '08 (Powershell 2.x を使用) の Sharpoint 2010 インスタンスから Windows Server '12 (Powershell 3.x を使用) の Sharepoint 2013 インスタンスにファイルを移行するための PowerShell スクリプトを作成しています。私はそれを機能させていますが、スコープの処理方法が変更されていることに気付きました。

問題: 両方の PSSession で実行される次のコードがあります ($paramはパラメーター値のハッシュテーブルです)。

$site PS 2.x リモート セッションで、 への割り当てが のスコープ内の同じ変数にも割り当てられていることに気付きましたInvoke-Command。つまり、スコープが渡されるか、同じスコープを共有します。ただし、PS 3.x リモート セッションの割り当てでは(真の子スコープ)の値は変更され$siteません。Invoke-Command

私の解決策:呼び出した各サーバーで正しいスコープを計算する関数を作成し、戻り値をGet-VariableandSet-Variable-Scopeオプションへの入力として使用しました。これで問題が解決し、変数の割り当てとアクセスが可能になりました。

質問: これは Microsoft によってどこに文書化されていますか? (TechNet のabout_scopeには見つかりませんでした。これは、2.x と 3.x の両方に適用され、他の質問で見た標準的なリファレンスです)。

また、これを行うためのより良い/適切な方法はありますか?