2010-04-29 71 views
0

我正在IronPython中編寫一個小型實用程序,以使用使用WMI的管理類在遠程計算機上安裝應用程序。遠程計算機的本地計算機的UNC路徑是什麼?

現在,腳本將在Machine_A上的Machine_B上安裝一個應用程序,只要在目標機器(本例中爲Machine_B)的本地驅動器上有msi文件,它就可以正常工作。我希望能夠對主機(Machine_A)機器上的.msi文件執行相同的操作。

network_scope = r"\\%Machine_B\root\cimv2" 
scope = ManagementScope(network_scope, options) 
scope.Connect() 

mp = ManagementPath("Win32_Product") 
ogo = ObjectGetOptions() 
mc = ManagementClass(scope, mp, ogo) 
inParams = mc.GetMethodParameters ("Install") 
inParams["PackageLocation"] = r"C:\installs\python-3.1.1.msi" 
inParams["AllUsers"] = True 
retVal = mc.InvokeMethod ("Install", inParams, None) 
print retVal ["ReturnValue"].ToString() 

問題:

[機器A] - 我在哪裏運行腳本,並要承載.msi文件
[機器B] ---我想要的安裝應用程序

那麼,如何定義本地機器的UNC路徑? 將會是什麼inParams [「PackageLocation」] = ??

回答

2

爲什麼不讓腳本將文件複製到目標計算機的管理共享C $,然後在完成後可選擇刪除它?從本地.msi進行安裝的速度要遠遠超過.msi數據庫的網絡過度讀取速度。

+0

所以,現在的問題是:在複製功能,我如何把本地文件的路徑,我的腳本將在遠程機器上執行,所以它應該能夠確定本地計算機的路徑。 \\機器名\驅動器\路徑不起作用。 謝謝! – 2010-04-29 05:13:19

+0

它看起來不像你的腳本在遠程機器上執行。您的腳本正在MachineA上執行並向MachineB發出遠程WMI請求。無論如何,'\\ machinename \ sharename \ path'是正確的格式,請確保MachineA上啓用共享,MachineB的計算機帳戶具有對共享和文件的讀取權限等。 – 2010-04-29 22:24:37

相關問題