2017-02-06 5 views
0

私は、PowerShellのGUIで作業しています。 foreachループを記述すると、DataGridの情報を調べ、各行の2列の入力に基づいて2つの変数を作成するのに役立つ必要があります。PowerShell foreachループとDatagrid行

何か

for each row 
    v1 = column1 
    v2 = column2 

    do something 

then repeat. 

実際のコードのような

Function RenameComputers{ 
foreach ($item in $DataGrid.Items){ 
     $OName = $item.OldName 
     $NName = $item.NewName 

     write-host "$OName and $NName" 
     netdom renamecomputer $OName /newName:$NName /uD:$Username /passwordD:$Password /force /reboot 
    } 
    } 
+3

は偉大な計画のような音、あなたの擬似と "列" を呼び出すことができますコードは意味があります - 実際に何を試しましたか? –

答えて

1
foreach ($item in $dataGrid.Items) { 
    $oldname = $item.oldname 
    $newname = $item.newname 

    //Do stuff, you don't even need to create those variables you can just call $item.attribute 
} 

次に、あなたなど$item.oldnameまたは$item.newname

+0

ありがとうございます。私はあまり試していなかった。これは本当に単なる学習経験なので、私は例を探していて、さまざまなオブジェクトと対話する方法を探しています。私はJavaにいくつかの経験があります。だから私はプログラミング/スクリプトとそのロジックの基礎を理解しています。これは必要な方法で情報をキャプチャしていますが、必要なコマンドを実行しているようには見えません。完全な機能を元の投稿にコピーします。コメントを正しくフォーマットすることができないようです。あなたが素晴らしいアイデアや提案があれば!再度、感謝します。あなたはすでに大きな助けになっています。 –

+0

私は書き込みホストがこれまでどおり動作するとは思わない。既存のファイルを追加するか、テキストボックスを作成してテキストボックスに書き込む方が簡単です。私はそれがコンソールが別のランスペースにあると信じていますか? – Goldn123

+0

書き込みホストコマンドは、テスト目的のためだけにあります。関数がデータテーブルの名前を正しく取得しているかどうかを調べるために使用しました。 netdomコマンドは動作しないものです。 Invoke-Expressionを使ってみました。 Write-Hostコマンドの後には、コンソールから報告される出力やエラーはなく、マシンの名前は変更されません。 –

関連する問題