プリンタのリストと、リストされているプリントサーバーのExcelファイルに対して実行されるスクリプトがあります。Powershellと単一の.csvファイルを使用して、複数のプリンタサーバーに複数のプリンタを追加する必要があります
私は理解できない問題は、200行のExcelシートを持たずに複数のプリントサーバーに複数のプリンタを追加する方法です。
プリントサーバーをPowershellスクリプトにリストし、foreach
コマンドを各サーバーに動的にリストしたいと考えています。
これまでのコードは次のとおりです。私は$server
にサーバーのリストを持たせ、その機能の一部をリストの次のサーバーに変更できるようにしようとしています。 .csvの書式の例を添付しました。 example of the formatting of the .csv file誰もが提供できるお手伝いをありがとう。
function CreatePrinter {
$server = $args[0]
$print = ([WMICLASS]"\\$server\ROOT\cimv2:Win32_Printer").createInstance()
$print.drivername = $args[1]
$print.PortName = $args[2]
$print.Shared = $false
$print.Sharename = $args[3]
$print.Location = $args[4]
$print.Comment = $args[5]
$print.DeviceID = $args[6]
$print.Put()
}
function CreatePrinterPort {
$server = $args[0]
$port = ([WMICLASS]"\\$server\ROOT\cimv2:Win32_TCPIPPrinterPort").createInstance()
$port.Name= $args[1]
$port.SNMPEnabled=$false
$port.Protocol=1
$port.HostAddress= $args[2]
$port.Put()
}
$printers = Import-Csv C:\test\NewPrinters.csv
foreach ($printer in $printers) {
CreatePrinterPort $printer.Printserver $printer.Portname $printer.IPAddress
CreatePrinter $printer.Printserver $printer.Driver $printer.Portname
$printer.Sharename $printer.Location $printer.Comment $printer.Printername
}
感謝をどのような作品です。サーバーとプリンタのリストの一覧に対してこれを実行するにはどうすればよいですか? – Nick
それはすでにそれを行うことができます、あなたのCSVをそれに応じて更新するだけです。複数のサーバに同じプリンタが必要な場合は、 'Printserver'カラムとプリンタの下にサーバを追加して、行を複製し、' Printserver'を次のサーバ名。 –
それは私の現在のスクリプトの仕組みです。あなたのコードははるかにシンプルで見栄えが良いです。私は大きなエクセルシートを避けようとしていました。 8台のプリントサーバーに約100台のプリンタを追加する必要があります。だから、Excelシートは800行の長さのハハです。私はそれがサーバーのリストを持つことができたところにしようとしていたし、プリンタの属性を持つ100台のプリンタのリストをExcelシート上に800行を避けるようにしました。 – Nick