0

私はpowershellを初めて使用し(約1週間)、ヘルプデスクがプリンターをインポートおよびエクスポートするためのツールを作成しようとしています。コードの実行中にフォームがフリーズすることを除けば、ツールは問題なく動作しています。

フリーズを軽減するために、ジョブとして実行するとタスクが完了することがわかりましたが、2 つの問題があります。

  1. ジョブが完了した結果、プログレス バーを 1 ステップ増やすことができません。
  2. 変数を渡すことができません。(これについては情報が山ほどあるので心配していません。構文を理解する必要があるだけです。それについても助けていただければ、それは素晴らしいことです。)

    start-job -scriptblock {
    C:\Windows\system32\spool\tools\PrintBrm.exe -b -f \\filestore\$EXPORTPRINTERS.printerExport
    $progressbarexportprinters.PerformStep()
    $progressbarexportprinters.TextOverlay = "Printer Export Complete"
    }
    

これに対する解決策を見つけました。フォームはまだフリーズしていますが、プログレス バーに動きを表示できます。これで十分です。

C:\Windows\system32\spool\tools\PrintBrm.exe -r -f \\filestore\$EXPORTPRINTERS.printerExport | out-string -Stream | foreach-object {
    $richTextBox1.lines = $richTextBox1.lines + $_
    $richTextBox1.Select($richTextBox1.Text.Length, 0)
    $richTextBox1.ScrollToCaret()
    $progressbaraddprinters.PerformStep()
}
4

0 に答える 0