web-dev-qa-db-ja.com

PowerShellにネットワークプリンターをインストールするにはどうすればよいですか?

Puppetを使用して開発マシンのセットアップを自動化できるように、Windows7にPowershellを使用してネットワークプリンターをインストールしようとしています。私は周りにいくつかの指示を見つけましたが、私の場合はどれもうまくいかないようです。

それらの1つはWindows8でのみ使用可能なAdd-Printerを使用し、他のものは何もしないようです。

# First one I tried
PS> $net = New-Object -Com WScript.Network
PS> $net.AddWindowsPrinterConnection('\\server\name')

# Second one:
PS> $printer=[WMIClass]"\\.\root\cimv2:Win32_Printer"
PS> $printer.AddPrinterConnection("\\server\name")

私は何かが足りないのですか?または、これを達成する別の方法はありますか?

2
andersonvom

これはあなたのために働くはずです。

# This function maps printers from an array
function Map-Printers($Printers) {
  # Loop over the array
  foreach ($Printer in $Printers) {
    # Map the printer
    (New-Object -ComObject WScript.Network).AddWindowsPrinterConnection($Printer)
  }
}

# Define a printer array
$Printers = @("\\print-server.domain.tld\printer1", "\\print-server.domain.tld\printer2")

# Call our map printers function and pass in the printers array.
Map-Printers -Printers $Printers
1
almyz125