問題タブ [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.
powershell - 複数のscriptblockパラメーターを持つPowershell関数
複数のscriptblockパラメーターを受け入れるPowershell関数を作成できませんでした。これが簡略化されたテストスクリプトです。複数のスクリプトブロックの問題は何ですか?
これにより、次の出力が生成されます。
powershell - PowerShell ScriptBlock と複数の関数
私は次のコードを書きました:
GetBar
動作しますが、内部で定義したくありませんGetFoo
。
このようなことはできますか?
基本的に、必要な関数を ScriptBlock に選択的に配置し、そのうちの 1 つを呼び出しています。この方法では、関数内で関数を定義する必要がなく、その ScriptBlock の一部になりたい関数を注入することで ScriptBlock を構築できます。
powershell - ScriptBlock内にPowerShellファイルを含める
私は次のコードを書きました
。\MyFunctions.ps1という用語はコマンドレットとして認識されないため、これは機能しません。
スクリプトブロック内にファイルを含めることができないのはなぜですか?
powershell - 名前付き関数をパラメーターとして渡す方法 (スクリプトブロック)
古典的な一階関数の例を見てみましょう:
これはうまくいきます:
これはしません:
Get-MyName が評価され、値自体として渡されないためです。Get-MyName を値として渡すにはどうすればよいですか?
powershell-remoting - PowerShell スクリプトブロックの値は何ですか?
PowerShell リモート処理を使用してリモート コードを実行しようとしていますが、説明できない奇妙な動作が発生します。これは私が実行する一連のコマンドです。
この動作の理由を知っている人はいますか? とても奇妙だと思います。return ステートメントは無視され、scriptblock は最初の「キャプチャされていない」式に評価されます。うーん?
また、このブロックを常に return ステートメント、または最後のステートメントに評価したい場合、それを達成する方法を誰かが知っていますか?
powershell - Powershell セッションを開始し、ローカル変数を渡す Powershell Start-Process
Powershell Start-Process コマンドレットを使用して新しい Powershell セッションを開始し、ローカル変数 (そのうちの 1 つは配列になります) を含むスクリプト ブロックを渡す方法はありますか?
例:
ありがとう。
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-Variable
andSet-Variable
の-Scope
オプションへの入力として使用しました。これで問題が解決し、変数の割り当てとアクセスが可能になりました。
質問: これは Microsoft によってどこに文書化されていますか? (TechNet のabout_scopeには見つかりませんでした。これは、2.x と 3.x の両方に適用され、他の質問で見た標準的なリファレンスです)。
また、これを行うためのより良い/適切な方法はありますか?