2016-11-23 7 views
1

プリンタのインスタンスを3つ追加して構成できるPowerShellスクリプトを作成しようとしています。これはこれまで私が持っているものです:PowerShell v2プリンタの追加

# Printer Info 
$printerID = "HP Designjet Z3200 24in Photo" 
$printerID1 = "HP Designjet Z3200 24in Photo - Canvas" 
$printerID2 = "HP Designjet Z3200 24in Photo - Cover" 
$printerIP = Read-Host 'What is the Poster Printer IP Address?' 
$printerPort = "IP_$printerIP" 
$printerModel = "HP Designjet Z3200 24in Photo" 
# Speak with Ted about a specific place to put the poster driver pre-extracted 
$driverINFPath = "C:\Velocity\HP WFP\Driver\hpdjz3200serieswx64pcl\hpi32pxs.inf" 

# Build a new Local TCP Printer Port, naming it with values unique to the Printer ID: 
$newPort = ([wmiclass]"Win32_TcpIpPrinterPort").CreateInstance() 
$newPort.HostAddress = $printerIP 
$newPort.Name = $printerPort 
$newPort.Put() 

# Add the printer 
printui.exe /if /b "$printerID" /f "$driverINFPath" /u /r "$printerPort" /m "$printerModel" 
printui.exe /if /b "$printerID1" /f "$driverINFPath" /u /r "$printerPort" /m "$printerModel" 
printui.exe /if /b "$printerID2" /f "$driverINFPath" /u /r "$printerPort" /m "$printerModel" 

私はスクリプトのポート部分の以前の投稿からその部分をコピーしました。私は.Put()が何であるか把握しようとしており、どこにも見つけることができません。どんな助けでも大歓迎です。

+0

私はこのメソッドに問題がある場合は(*疑問がありますが)コメントをここに明記し、あなたの質問を編集してください。あなたの問題を解決するために私の答えを編集してください。 – gravity

+1

@gravity私は実際にこのコメントを見る前に私が必要としていたものを見つけました。コメントと答えをありがとう! –

+0

私は関数内のすべての代入をラップする必要があると思われますか? :) – gravity

答えて

0

... Windows PowerShellは、.NET Frameworkおよび System.Managementクラスを通じてWMIにアクセスします。 SWbemObjectを使用するのではなく、Windows PowerShellはSystem.Management.ManagementObjectクラスを使用します。 の場合、このクラスでは、読み込み/書き込みのプロパティに変更を保存するためにPutという名前のメソッドを使用します。 実際にPowerShellのPut()呼び出しにVBScriptのPut_を比較しているTechNetから、

関連する問題