私はVB.netで動作するVisual Studioフォームを持っており、ADユーザーのセットアップに必要な情報を収集しています。結局のところ、この情報はPowershellに渡され、返品情報は必要ありません。その前に、プリンタコードが他のユーザーに送信される前に誰かに割り当てられているかどうかを確認する必要があります。私はそれのために書かれたシンプルなパワーシェルスクリプトを持っています。 (私たちは、プリンタコードを格納するためのポケットベルフィールドを使用します。)VB.netとpowershellの変数
Import-Module ActiveDirectory
$Page = $args[0]
Get-ADUser -Filter { Pager -like $Page } | FT Name
私のセットアップ私はHEREを見つけ、そして私のスクリプトにそれを修正しようとしましたが、それは
Dim results As Collection(Of PSObject) = MyPipeline.Invoke()
にそれをクラッシュしたコード私に与えられる:System.Management.Automation.dllで 'System.Management.Automation.ParseException'型の未処理の例外が発生しました
私は彼の小さな6 + 5基本的なスクリプトを実行すると動作しますが、情報を取得して名前を返すそれはそれを好まない。見つけたら、人の名前を返すにはどうすればいいですか?そして実行されないので、$ args [0]がまだ動作するようにプリンタコードを渡すかどうかはわかりません。
同じ結果が得られました。私は結論のコメントを外して、それがうまくいくかどうかを確認しようとしましたが、うまくいきませんでした。 1つの結果をVisual Studioに返すだけで、私が従う例がより良い方法ですか? –
PSスクリプトを書くと、最初の結果だけが返されます。正確に1つの結果がない場合は、コレクション内のアイテムの数を確認してエラーを返すことをお勧めします。 'Write-Verbose $ results'の代わりに' Return $ results'を試してみてください。 – Xalorous