Module: Win32::NetResources

Defined in:
lib/Win32/NetResources.rb

Defined Under Namespace

Classes: Error

Class Method Summary collapse

Class Method Details

.mount(p_strLocal, p_strRemote, p_strUser = nil, p_strPwd = nil, p_bUpdate = false) ⇒ Object



methodsFor: “mounting/unmounting”



57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/Win32/NetResources.rb', line 57

def NetResources.mount(
		p_strLocal,
		p_strRemote,
		p_strUser = nil,
		p_strPwd  = nil,
		p_bUpdate = false)		# true if we want to update the local user's profile
	begin
		wsh = WIN32OLE.new('WScript.Network')
		wsh.MapNetworkDrive(p_strLocal.gsub(/\w$/, '\0:'), p_strRemote.gsub(/\//, "\\"),
							p_bUpdate, p_strUser, p_strPwd)
		rescue WIN32OLERuntimeError => p_e
			raise Error, p_e
	end
end

.mountPrinter(p_strLocal, p_strRemote, p_strUser = nil, p_strPwd = nil, p_bUpdate = false) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/Win32/NetResources.rb', line 81

def NetResources.mountPrinter(
		p_strLocal,
		p_strRemote,
		p_strUser = nil,
		p_strPwd  = nil,
		p_bUpdate = false)		# true if we want to update the local user's profile
	begin
		wsh = WIN32OLE.new('WScript.Network')
		wsh.AddPrinterConnection(p_strLocal, p_strRemote.gsub(/\//, "\\"),
							p_bUpdate, p_strUser, p_strPwd)
		rescue WIN32OLERuntimeError => p_e
			raise Error, p_e
	end
end

.mountsObject



methodsFor: “enumerating”



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/Win32/NetResources.rb', line 120

def NetResources.mounts
	begin
		wsh     = WIN32OLE.new('WScript.Network')
		vValues = wsh.EnumNetworkDrives()
		mRet    = {}
		key     = nil
		vValues.each do |item|
			if key.nil? then key = item
			else
				mRet[key] = item
				key = nil
			end
		end
		rescue WIN32OLERuntimeError
			raise Error, p_e
		ensure
			return mRet
	end
end

.printersObject



140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/Win32/NetResources.rb', line 140

def NetResources.printers
	begin
		wsh     = WIN32OLE.new('WScript.Network')
		vValues = wsh.EnumPrinterConnections()
		mRet    = {}
		key     = nil
		vValues.each do |item|
			if key.nil? then key = item
			else
				mRet[key] = item
				key = nil
			end
		end
		rescue WIN32OLERuntimeError
			raise Error, p_e
		ensure
			return mRet
	end
end

.setDefaultPrinter(p_strName) ⇒ Object



methodsFor: “defaulting”



108
109
110
111
112
113
114
115
# File 'lib/Win32/NetResources.rb', line 108

def NetResources.setDefaultPrinter(p_strName)
	begin
		wsh = WIN32OLE.new('WScript.Network')
		wsh.SetDefaultPrinter(p_strName)
		rescue WIN32OLERuntimeError => p_e
			raise Error, p_e
	end
end

.umount(p_strName, p_bForce = true, p_bUpdate = false) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/Win32/NetResources.rb', line 72

def NetResources.umount(p_strName, p_bForce = true, p_bUpdate = false)
	begin
		wsh = WIN32OLE.new('WScript.Network')
		wsh.RemoveNetworkDrive(p_strName, p_bForce, p_bUpdate)
		rescue WIN32OLERuntimeError => p_e
			raise Error, p_e
	end
end

.umountPrinter(p_strName, p_bForce = true, p_bUpdate = false) ⇒ Object



96
97
98
99
100
101
102
103
# File 'lib/Win32/NetResources.rb', line 96

def NetResources.umountPrinter(p_strName, p_bForce = true, p_bUpdate = false)
	begin
		wsh = WIN32OLE.new('WScript.Network')
		wsh.RemovePrinterConnection(p_strName, p_bForce, p_bUpdate)
		rescue WIN32OLERuntimeError => p_e
			raise Error, p_e
	end
end