Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.79 KB | None | 0 0
  1. ' *********************************************************************
  2. ' Assign default printer for Citrix Server based on pulled PARM file
  3. '
  4. ' v100a XXX xx/xx/xxxx - Original Version
  5. ' v110a MRH 03/24/2010 - Removed V: Drive reference and
  6. ' changed it to UNC Path.
  7. ' - Added Execute FastLaunch on
  8. ' change of Default Printer from
  9. ' RightFax to something else.
  10. ' v120a MRH 03/25/2010 - Made reading of the Param file
  11. ' more robust. It must be at least
  12. ' 8 characters in length.
  13. ' v130a MRH 04/02/2010 - If pnagent.exe is already running
  14. ' do not attempt to launch it again.
  15. ' v140a MRH 04/02/2010 - More error checking around reading
  16. ' the C:oasGoldoaaparm.ini file.
  17. ' Locate the = and read from there.
  18. ' v150a MRH 05/14/2010 - Fixed Determining if the printer is
  19. ' moved from RightFax to other printer.
  20. '
  21. ' *********************************************************************
  22.  
  23. Option Explicit
  24. Dim objFSO, objFile, objFileS, strLine, ParmID, net, WshNetwork, Counter
  25. Dim eqLoc
  26. Dim OShell, exestr
  27. Dim oReg, strKeyPath, strValue
  28.  
  29. ' Create Shell object for running command
  30. set Oshell = CreateObject("Wscript.Shell")
  31.  
  32. 'creates network object for printer setup later
  33. Set net = CreateObject("WScript.Network")
  34. Set WshNetwork = WScript.CreateObject("WScript.Network")
  35.  
  36. 'Open the fso
  37. Set objFSO = CreateObject("Scripting.FileSystemObject")
  38.  
  39. ' Copy the Param file from thin client to C:
  40. ' Map Printer Based on the Param File.
  41. If objFSO.FileExists("\ClientC$oasgoldoaaparm.ini") then
  42. 'copy parm file from thin client to citrix virtual disk
  43. Objfso.CopyFile "\ClientC$oasgoldoaaparm.ini", "C:oasgold",TRUE
  44.  
  45. Set objFileS = objFSO.GetFile("C:oasGoldoaaparm.ini")
  46.  
  47. If (objFileS.Size >= 8) Then
  48. 'creates file object and opens parm file
  49. Set objFile = objFSO.OpenTextFile("C:oasGoldoaaparm.ini", 1)
  50.  
  51. 'reads first line of parm file into strLine
  52. strLine = LCase(objFile.ReadLine)
  53.  
  54. 'Locate the equal and read the ParmID, the next 4 characters
  55. 'If no equals then set param to ????
  56. eqLoc = InStr(1, strLine, "=", 1)
  57. If (eqLoc > 0) then
  58. ParmID = Mid(strLine, eqLoc+1, 4)
  59. Else
  60. ParmID = "????"
  61. End If
  62.  
  63. ' Close Param file.
  64. objFile.Close
  65. Else
  66. ' Unable to Read Param File, set it to something unique to notify us that the files is bad.
  67. ParmID = "????"
  68. End If
  69.  
  70. 'based on Parm ID select which printer to setup
  71. Select Case ParmID
  72. Case "????"
  73. Wscript.Echo "Invalid Parm ID: " & ParmID & ". No Windows printer selected!!!"
  74. Case "xxxx"
  75. Wscript.Echo "Invalid Parm ID: " & ParmID & ". No Windows printer selected!!!"
  76. Case "iej3"
  77. net.AddWindowsPrinterConnection "\print1e-it-hal4000-ps"
  78. WshNetwork.SetDefaultPrinter "\print1e-it-hal4000-ps"
  79. Case "c5in"
  80. net.AddWindowsPrinterConnection "\print1E-4E1-MFD-PS"
  81. WshNetwork.SetDefaultPrinter "\print1E-4E1-MFD-PS"
  82. Case "f8it"
  83. net.AddWindowsPrinterConnection "\print1E-4E1-MFD-PS"
  84. WshNetwork.SetDefaultPrinter "\print1E-4E1-MFD-PS"
  85. Case "f7it"
  86. net.AddWindowsPrinterConnection "\print1ep-spc2-mfd-ps"
  87. WshNetwork.SetDefaultPrinter "\print1ep-spc2-mfd-ps"
  88. Case "iel4"
  89. net.AddWindowsPrinterConnection "\print1e-2ne1-ps"
  90. WshNetwork.SetDefaultPrinter "\print1e-2ne1-ps"
  91. Case "iel9"
  92. net.AddWindowsPrinterConnection "\print1e-2nw1-ps"
  93. WshNetwork.SetDefaultPrinter "\print1e-2nw1-ps"
  94. Case "iei3"
  95. net.AddWindowsPrinterConnection "\print1e-4n1-ps"
  96. WshNetwork.SetDefaultPrinter "\print1e-4n1-ps"
  97. Case "ieh5"
  98. net.AddWindowsPrinterConnection "\print1e-5sfrt-ps"
  99. WshNetwork.SetDefaultPrinter "\print1e-5sfrt-ps"
  100. Case "iee8"
  101. net.AddWindowsPrinterConnection "\print1e-5n1-ps"
  102. WshNetwork.SetDefaultPrinter "\print1e-5n1-ps"
  103. Case "7jq6"
  104. net.AddWindowsPrinterConnection "\print1e-ns-5sinpat-ps"
  105. WshNetwork.SetDefaultPrinter "\print1e-ns-5sinpat-ps"
  106. Case "ieg5"
  107. net.AddWindowsPrinterConnection "\print1e-6e1-ps"
  108. WshNetwork.SetDefaultPrinter "\print1e-6e1-ps"
  109. Case "ieg7"
  110. net.AddWindowsPrinterConnection "\print1e-6n2-ps"
  111. WshNetwork.SetDefaultPrinter "\print1e-6n2-ps"
  112. Case "ieg1"
  113. net.AddWindowsPrinterConnection "\print1e-6s1-ps"
  114. WshNetwork.SetDefaultPrinter "\print1e-6s1-ps"
  115. Case "iem4"
  116. net.AddWindowsPrinterConnection "\print1E-CVS-HOLDING-PS"
  117. WshNetwork.SetDefaultPrinter "\print1E-CVS-HOLDING-PS"
  118. Case "98ic"
  119. net.AddWindowsPrinterConnection "\print1ec3-frtdsk-mfd-ps"
  120. WshNetwork.SetDefaultPrinter "\print1ec3-frtdsk-mfd-ps"
  121. Case "ido0"
  122. net.AddWindowsPrinterConnection "\print1ec4-frtdsk-ps"
  123. WshNetwork.SetDefaultPrinter "\print1ec4-frtdsk-ps"
  124. Case "i0ic"
  125. net.AddWindowsPrinterConnection "\print1ec5-frtdsk-ps"
  126. WshNetwork.SetDefaultPrinter "\print1ec5-frtdsk-ps"
  127. Case "k4ic"
  128. net.AddWindowsPrinterConnection "\print1ec6-frtdsk-ps"
  129. WshNetwork.SetDefaultPrinter "\print1ec6-frtdsk-ps"
  130. Case "k0ig"
  131. net.AddWindowsPrinterConnection "\print1ec6-nursery-ps"
  132. WshNetwork.SetDefaultPrinter "\print1ec6-nursery-ps"
  133. Case "i4ic"
  134. net.AddWindowsPrinterConnection "\print1ec5-nursery-ps"
  135. WshNetwork.SetDefaultPrinter "\print1ec5-nursery-ps"
  136. Case "94ic"
  137. net.AddWindowsPrinterConnection "\print1EC2-PEDS1-MFD-PS"
  138. WshNetwork.SetDefaultPrinter "\print1EC2-PEDS1-MFD-PS"
  139. Case "96ic"
  140. net.AddWindowsPrinterConnection "\print1EC2-PEDS2-PS"
  141. WshNetwork.SetDefaultPrinter "\print1EC2-PEDS2-PS"
  142. Case "70vl"
  143. net.AddWindowsPrinterConnection "\print1EC2-WMNSERV2-PS"
  144. WshNetwork.SetDefaultPrinter "\print1EC2-WMNSERV2-PS"
  145. Case "52it"
  146. net.AddWindowsPrinterConnection "\print1EC2-WMNSERV1-MFD-PS"
  147. WshNetwork.SetDefaultPrinter "\print1EC2-WMNSERV1-MFD-PS"
  148. Case "ied4"
  149. net.AddWindowsPrinterConnection "\print17east1-ps"
  150. WshNetwork.SetDefaultPrinter "\print17east1-ps"
  151. Case "ied7"
  152. net.AddWindowsPrinterConnection "\print1e-7n1-ps"
  153. WshNetwork.SetDefaultPrinter "\print1e-7n1-ps"
  154. Case "ief0"
  155. net.AddWindowsPrinterConnection "\print1e-7s1-ps"
  156. WshNetwork.SetDefaultPrinter "\print1e-7s1-ps"
  157. Case "a2ic"
  158. net.AddWindowsPrinterConnection "\print1e-7w1-ps"
  159. WshNetwork.SetDefaultPrinter "\print1e-7w1-ps"
  160. Case "70tx"
  161. net.AddWindowsPrinterConnection "\print1w-cps-nurst1-ps"
  162. WshNetwork.SetDefaultPrinter "\print1w-cps-nurst1-ps"
  163. Case "4m6n"
  164. net.AddWindowsPrinterConnection "\print1w-adup-nurst1-ps"
  165. WshNetwork.SetDefaultPrinter "\print1w-adup-nurst1-ps"
  166. Case "4m5h"
  167. net.AddWindowsPrinterConnection "\print1w-neuro-nurs1-ps"
  168. WshNetwork.SetDefaultPrinter "\print1w-neuro-nurs1-ps"
  169. Case "4m5i"
  170. net.AddWindowsPrinterConnection "\print1w-neuro-nurs2-ps"
  171. WshNetwork.SetDefaultPrinter "\print1w-neuro-nurs2-ps"
  172. Case "ei38"
  173. net.AddWindowsPrinterConnection "\print1w-suro-nurs1-ps"
  174. WshNetwork.SetDefaultPrinter "\print1w-suro-nurs1-ps"
  175. Case "ei39"
  176. net.AddWindowsPrinterConnection "\print1w-suro-nurs2-ps"
  177. WshNetwork.SetDefaultPrinter "\print1w-suro-nurs2-ps"
  178. Case "n1gj"
  179. net.AddWindowsPrinterConnection "\print1w-orth-nurs1-ps"
  180. WshNetwork.SetDefaultPrinter "\print1w-orth-nurs1-ps"
  181. Case "n2gj"
  182. net.AddWindowsPrinterConnection "\print1w-orth-nurs2-ps"
  183. WshNetwork.SetDefaultPrinter "\print1w-orth-nurs2-ps"
  184. Case "j6gj"
  185. net.AddWindowsPrinterConnection "\print1w-reha-nurs2-ps"
  186. WshNetwork.SetDefaultPrinter "\print1w-reha-nurs2-ps"
  187. Case "n0gj"
  188. net.AddWindowsPrinterConnection "\print1w-reha-nurs1-ps"
  189. WshNetwork.SetDefaultPrinter "\print1w-reha-nurs1-ps"
  190. Case "7jv4"
  191. net.AddWindowsPrinterConnection "\print1w-reha-nurs3-ps"
  192. WshNetwork.SetDefaultPrinter "\print1w-reha-nurs3-ps"
  193. Case "c8ic"
  194. net.AddWindowsPrinterConnection "\print1w-cc-nurs1-ps"
  195. WshNetwork.SetDefaultPrinter "\print1w-cc-nurs1-ps"
  196. Case "g0ic"
  197. net.AddWindowsPrinterConnection "\print1w-cc-nurs2-ps"
  198. WshNetwork.SetDefaultPrinter "\print1w-cc-nurs2-ps"
  199. Case "4m1g"
  200. net.AddWindowsPrinterConnection "\print1w-cc-nurs3-ps"
  201. WshNetwork.SetDefaultPrinter "\print1w-cc-nurs3-ps"
  202. Case "70tq"
  203. net.AddWindowsPrinterConnection "\print1w-adol-nurst1-ps"
  204. WshNetwork.SetDefaultPrinter "\print1w-adol-nurst1-ps"
  205. Case "4m6q"
  206. net.AddWindowsPrinterConnection "\print1w-afd-nurstn1-ps"
  207. WshNetwork.SetDefaultPrinter "\print1w-afd-nurstn1-ps"
  208. Case "14it"
  209. net.AddWindowsPrinterConnection "\print1w-smh-nurst1-ps"
  210. WshNetwork.SetDefaultPrinter "\print1w-smh-nurst1-ps"
  211. Case "4m5s"
  212. net.AddWindowsPrinterConnection "\print1ac_hp4050_ps"
  213. WshNetwork.SetDefaultPrinter "\print1ac_hp4050_ps"
  214. Case "4m1p"
  215. net.AddWindowsPrinterConnection "\print1w-actr-hp4kt-ps"
  216. WshNetwork.SetDefaultPrinter "\print1w-actr-hp4kt-ps"
  217. Case "d8gj"
  218. net.AddWindowsPrinterConnection "\print1W-INDC-HP4KT-PS"
  219. WshNetwork.SetDefaultPrinter "\print1W-INDC-HP4KT-PS"
  220. Case "iei9"
  221. net.AddWindowsPrinterConnection "\print1e-5woutpt-ps"
  222. WshNetwork.SetDefaultPrinter "\print1e-5woutpt-ps"
  223. Case "e6ir"
  224. net.AddWindowsPrinterConnection "\print1w-mh-stafstn1-ps"
  225. WshNetwork.SetDefaultPrinter "\print1w-mh-stafstn1-ps"
  226. Case "l7ir"
  227. net.AddWindowsPrinterConnection "\print1w-ops-nursta1-ps"
  228. WshNetwork.SetDefaultPrinter "\print1w-ops-nursta1-ps"
  229. Case "iej5"
  230. net.AddWindowsPrinterConnection "\print1e-ops1-ps"
  231. WshNetwork.SetDefaultPrinter "\print1e-ops1-ps"
  232. Case "ij99"
  233. net.AddWindowsPrinterConnection "\print1E-SURG-AMADMT-PS"
  234. WshNetwork.SetDefaultPrinter "\print1E-SURG-AMADMT-PS"
  235. Case "ijc5"
  236. net.AddWindowsPrinterConnection "\print1ep-bhilab-mfd-ps"
  237. WshNetwork.SetDefaultPrinter "\print1ep-bhilab-mfd-ps"
  238. Case "70rq"
  239. net.AddWindowsPrinterConnection "\print1w-ns-fcu-ps"
  240. WshNetwork.SetDefaultPrinter "\print1w-ns-fcu-ps"
  241. Case "f6in"
  242. net.AddWindowsPrinterConnection "\print1e-3e-cath-ps"
  243. WshNetwork.SetDefaultPrinter "\print1e-3e-cath-ps"
  244. Case "f5in"
  245. net.AddWindowsPrinterConnection "\print1e-3w-ptr1-ps"
  246. WshNetwork.SetDefaultPrinter "\print1e-3w-ptr1-ps"
  247. Case "ijh4"
  248. net.AddWindowsPrinterConnection "\print1e-gi1-ps"
  249. WshNetwork.SetDefaultPrinter "\print1e-gi1-ps"
  250. Case "ijj1"
  251. net.AddWindowsPrinterConnection "\print1e-3e-teemfd-ps"
  252. WshNetwork.SetDefaultPrinter "\print1e-3e-teemfd-ps"
  253. Case "id17"
  254. net.AddWindowsPrinterConnection "\print1e-gi1-ps"
  255. WshNetwork.SetDefaultPrinter "\print1e-gi1-ps"
  256. Case "f9in"
  257. net.AddWindowsPrinterConnection "\print1e-4s-frtptr1-ps"
  258. WshNetwork.SetDefaultPrinter "\print1e-4s-frtptr1-ps"
  259. Case "k4ig"
  260. net.AddWindowsPrinterConnection "\print1E-4N-FRTDSK-PS"
  261. WshNetwork.SetDefaultPrinter "\print1E-4N-FRTDSK-PS"
  262. Case "if99"
  263. net.AddWindowsPrinterConnection "\print1E-SURG-AMADMT-PS"
  264. WshNetwork.SetDefaultPrinter "\print1E-SURG-AMADMT-PS"
  265. End Select
  266. Else
  267. Wscript.Echo "Error: No Parm file available. Unable to Add Printer!!!"
  268. End If
  269.  
  270.  
  271. ' ******************************************************************************
  272. ' Execute Citrix PNAGENT FastLaunch, but first wait until the printer is mapped
  273. ' or until we give up.
  274. ' ******************************************************************************
  275. const HKEY_CURRENT_USER = &H80000001
  276. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}! \.rootdefault:StdRegProv")
  277.  
  278. For Counter = 1 to 30
  279. strKeyPath = "SoftwareMicrosoftWindows NTCurrentVersionWindows"
  280. oReg.GetStringValue HKEY_CURRENT_USER, strKeyPath, "Device", strValue
  281.  
  282. ' if GT 0 then \print1 Found in String and exit waiting for it.
  283. If (InStr(1, strValue, "\print1", 1) > 0) then
  284. Exit For
  285. End If
  286. wscript.sleep(1000)
  287. Next
  288.  
  289. exestr = chr(34) & "C:Program FilesCitrixICA Clientpnagent.exe" & chr(34) & " /CitrixShortcut: (3) /QLaunch " & chr(34) & "BryanLGH-VDI:FastLaunch" & chr(34)
  290. 'Oshell.Run exestr, 0, FALSE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement