Solved

Simple Windows 2008 question - Easy 500pnts

Posted on 2013-12-04
5
222 Views
Last Modified: 2013-12-09
I am just installing a new windows 2008 server while setting up the login script to map netowrk drives it strike me there maybe a less dated way of doing this now - seem strange to be still using batch file...

How can I map something like this net use m: \\192.168.3.252\Documents /persistent:YES

using a vbscript or GPO and which one is best?
0
Comment
Question by:ise438
5 Comments
 
LVL 4

Expert Comment

by:alexeykomarov
ID: 39695186
it seems to me easier to use the GPO
0
 
LVL 35

Expert Comment

by:Mahesh
ID: 39695188
If you have 2008 domain probably you could use group policy preferences to map the drives

Prerequisites for that you should have client computers win vista and above
if you have Win XP clients, then you need to install CSE on them
http://www.microsoft.com/en-in/download/details.aspx?id=3628

Also look at below link to setup through GP preferences
http://www.blackforce.co.uk/2013/01/27/how-to-map-network-drives-using-group-policy-preferences
http://community.spiceworks.com/how_to/show/17039-mapping-drives-with-group-policy-preferences-and-item-level-targeting

Mahesh
0
 
LVL 9

Expert Comment

by:Red-King
ID: 39695194
I use vbscript to do this which allows you the luxury of being able to create a log file with the results of each operation. It can make things a bit easier when troubleshooting but the batch file approach is still very much acceptable.

Here it is with a little bit of sanitization done.
It sets up a log file then does a number of file copies (MS Word custom toolbars and Normal template with macros, desktop links etc), deletes file if the exist (unattend.xml from the desktop imaging process), Adds and Renames shared drives.

By commenting out the call for the subroutine you can turn off that aspect of the script.
There's also an error check which is used to add the error to the log file which is saved in the %userprofile% folder.

' -----------------------------------------------------------------------------
' 	Logon.vbs
'	VBScript which is executed during user logon
' 	Author Rory Clerkin
' 	Version 1.1 - 04/12/2013
' -----------------------------------------------------------------------------
Option Explicit

'	Declare Variables
Dim myFileSys, myNetwork, WSHShell, WSHProcess, appShell, DomainLogonServer
Dim userprofileEnv, usernameEnv, appdataEnv, windirEnv, localAppdataEnv, logFile
Dim myYear, myMonth, myDay, myDate, yesterday


'	Create Objects and Assign Variables
Set WSHShell = CreateObject("Wscript.Shell")
Set appShell = CreateObject("Shell.Application")
Set WSHProcess = WSHShell.Environment("Process")
Set myFileSys = CreateObject("Scripting.FileSystemObject")
Set myNetwork = CreateObject("WScript.Network")
myYear = Year(NOW)
myMonth = Month(NOW)
myDay = Day(NOW)

DomainLogonServer	= WSHProcess("LogonServer")
'	Assign Environment Variables
appdataEnv 		= WSHShell.ExpandEnvironmentStrings("%APPDATA%")
localAppdataEnv 	= WSHShell.ExpandEnvironmentStrings("%LOCALAPPDATA%")
userprofileEnv 		= WSHShell.ExpandEnvironmentStrings("%USERPROFILE%")
usernameEnv 		= WSHShell.ExpandEnvironmentStrings("%USERNAME%")
windirEnv		= WSHShell.ExpandEnvironmentStrings("%WINDIR%")




'	Create Logfile and Enter Timestamp
Set logFile = myFileSys.CreateTextFile(userprofileEnv & "\Logon.log", True)
logFile.WriteLine("Logfile started at: " & NOW)

'	Set up reverse Date Stamp
IF myDay < 10 Then
	myDay = "0" & myDay
END IF

IF myMonth < 10 Then
	myMonth = "0" & myMonth
END IF

myDate = myYear & myMonth & myDay
yesterday = mydate - 1

logFile.WriteLine("")
logFile.WriteLine("Reverse date stamp set to: " & myDate)
logFile.WriteLine("")

'	Check if necessary folders exist and if not, create them
PrepFolders

'	Call the DeleteFiles Subroutine
DeleteFiles

'	Call the MoveFiles Subroutine
MoveFiles

'	Call the CopyFiles Subroutine
CopyFiles

'	Call the MapDrives Subroutine
MapDrives


'	Finish script by closing the logFile and destroying objects
logFile.WriteLine("")
logFile.WriteLine("Completed processing Logon Script")
logFile.Close
Set myFileSys = Nothing
Set WSHProcess = Nothing
Set WSHShell = Nothing
WScript.Quit



Sub PrepFolders()

	Dim templateLocation, signatureLocation, msLocation
	
	msLocation = appdataEnv & "\Microsoft"
	templateLocation = appdataEnv & "\Microsoft\Templates"
	signatureLocation = appdataEnv & "\Microsoft\Signatures"
	
	logFile.WriteLine("")
	logFile.WriteLine(".............................")
	logFile.WriteLine("....Checking For Folders ....")
	logFile.WriteLine(".............................")
	logFile.WriteLine("")
	
	
	'	.....................
	'	Check for folders and create if missing
	'	.....................
	If myFileSys.FolderExists(msLocation) Then
		logFile.WriteLine("Folder Exists Already: " & msLocation)
	Else
		logFile.WriteLine("Folder Does Not Exist: " & msLocation)
		logFile.WriteLine(".... Attempting to create: " & msLocation)
		
		myFileSys.CreateFolder(msLocation)
		CheckError("Creating: " & msLocation)
	End If
	
	If myFileSys.FolderExists(templateLocation) Then
		logFile.WriteLine("Folder Exists Already: " & templateLocation)
	Else
		logFile.WriteLine("Folder Does Not Exist: " & templateLocation)
		logFile.WriteLine(".... Attempting to create: " & templateLocation)
		
		myFileSys.CreateFolder(templateLocation)
		CheckError("Creating: " & templateLocation)
	End If
	
	If myFileSys.FolderExists(signatureLocation) Then
		logFile.WriteLine("Folder Exists Already: " & signatureLocation)
	Else
		logFile.WriteLine("Folder Does Not Exist: " & signatureLocation)
		logFile.WriteLine(".... Attempting to create: " & signatureLocation)
		
		myFileSys.CreateFolder(signatureLocation)
		CheckError("Creating: " & signatureLocation)
	End If
	
End Sub


Sub MoveFiles()

	Dim templateLocation
	
	templateLocation = appdataEnv & "\Microsoft\Templates"

	logFile.WriteLine("")
	logFile.WriteLine(".....................")
	logFile.WriteLine("....Moving Files....")
	logFile.WriteLine(".....................")
	logFile.WriteLine("")
	
	'	.....................
	'	Check for file and move
	'	.....................
	If myFileSys.FileExists(templateLocation & "\Normal.dotm") And myFileSys.FileExists(templateLocation & "\" & myDate & "-Normal.dotm") Then
		logFile.WriteLine("Both Files Exist: " & templateLocation & "\Normal.dotm ... AND ... " & templateLocation & "\" & myDate & "-Normal.dotm")
		logFile.WriteLine(".... No need to copy new Normal.dotm across")
	ElseIf myFileSys.FileExists(templateLocation & "\Normal.dotm") Then
		logFile.WriteLine("File Exists: " & templateLocation & "\Normal.dotm")
		logFile.WriteLine(".... attempting to move this file: " & templateLocation & "\Normal.dotm")
		logFile.WriteLine(".... To this location: " & templateLocation & "\" & myDate & "-Normal.dotm")
		
		myFileSys.MoveFile templateLocation & "\Normal.dotm", templateLocation & "\" & myDate & "-Normal.dotm"
		
		CheckError("Moving: " & templateLocation & "\Normal.dotm")
	End If

End Sub

Sub CopyFiles()

	Dim outlookLocation, templateLocation, signatureLocation
	Dim remotePublicLocation, remoteTemplateLocation
	Dim remoteSignatureLocation, desktopLocation, interfaceFileLocation
	
	outlookLocation = appdataEnv & "\Microsoft\Outlook"
	templateLocation = appdataEnv & "\Microsoft\Templates"
	signatureLocation = appdataEnv & "\Microsoft\Signatures"
	interfaceFileLocation = localAppdataEnv & "\Microsoft\Office"
	remotePublicLocation = "\\SVR015\sys\Public"
	remoteTemplateLocation = remotePublicLocation & "\TEMPLATE\Office2010"
	remoteSignatureLocation = remotePublicLocation & "\TEMPLATE\Signature"
	desktopLocation = userprofileEnv & "\Desktop"
	
	logFile.WriteLine("")
	logFile.WriteLine(".....................")
	logFile.WriteLine("....Copying Files....")
	logFile.WriteLine(".....................")
	logFile.WriteLine("")
	
	On Error Resume Next
	
	'	.....................
	'	 Note Regarding CopyFile method
	'	.....................
	'	 In order for the CopyFile method to be successful it must contain a trailing slash i.e. '\'
	'	 This tells the CopyFile method that it is copying into a directory. Without the slash
	'	 it tries to overwirte the directory with the file being copied and gets a permission denied error
	
	'	.....................
	'	Check if Outlook file containing VB macros exists locally
	'	.....................
	If myFileSys.FileExists(outlookLocation & "\VbaProject.OTM" ) Then
		logFile.WriteLine("File Exists: " & outlookLocation & "\VbaProject.OTM")
	Else
		logFile.WriteLine("File Does Not Exist: " & outlookLocation & "\VbaProject.OTM")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteTemplateLocation & "\VbaProject.OTM")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteTemplateLocation & "\VbaProject.OTM", outlookLocation & "\"
		CheckError("Copying VbaProject.OTM")
	End If
	
	'	.....................
	'	Check if Word Normal.dotm file containing VB macros exists locally
	'	.....................
	If myFileSys.FileExists(templateLocation & "\Normal.dotm" ) Then
		logFile.WriteLine("File Exists: " & templateLocation & "\Normal.dotm")
		
	'		Delete the local normal template from the client PC
		logFile.WriteLine(" .... Deleting Normal.dotm")
		myFileSys.DeleteFile templateLocation & "\Normal.dotm"
		CheckError("Deleting: " & templateLocation & "\Normal.dotm")
		
	'		Copy the new normal template from the server
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteTemplateLocation & "\Normal.dotm")
		myFileSys.CopyFile remoteTemplateLocation & "\Normal.dotm", templateLocation & "\"
		CheckError("Copying Normal.dotm")
	Else
		logFile.WriteLine("File Does Not Exist: " & templateLocation & "\Normal.dotm")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteTemplateLocation & "\Normal.dotm")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteTemplateLocation & "\Normal.dotm", templateLocation & "\"
		CheckError("Copying Normal.dotm")
	End If
	
	'	.....................
	'	Check if Outlook signature files exist locally
	'	.....................
	'	Check for "External-Logo.htm"
	'	.....................
	If myFileSys.FileExists(signatureLocation & "\External-Logo.htm" ) Then
		logFile.WriteLine("File Exists: " & signatureLocation & "\External-Logo.htm")
		
	Else
		logFile.WriteLine("File Does Not Exist: " & signatureLocation & "\External-Logo.htm")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteSignatureLocation & "\External-Logo.htm")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteSignatureLocation & "\External-Logo.htm", signatureLocation & "\"
		CheckError("Copying External-Logo.htm")
	End If
	
	'	.....................
	'	Check for "External-Logo.rtf"
	'	.....................
	If myFileSys.FileExists(signatureLocation & "\External-Logo.rtf" ) Then
		logFile.WriteLine("File Exists: " & signatureLocation & "\External-Logo.rtf")
		
	Else
		logFile.WriteLine("File Does Not Exist: " & signatureLocation & "\External-Logo.rtf")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteSignatureLocation & "\External-Logo.rtf")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteSignatureLocation & "\External-Logo.rtf", signatureLocation & "\"
		CheckError("Copying External-Logo.rtf")
	End If
	
	'	.....................
	'	Check for "External-Logo.txt"
	'	.....................
	If myFileSys.FileExists(signatureLocation & "\External-Logo.txt" ) Then
		logFile.WriteLine("File Exists: " & signatureLocation & "\External-Logo.txt")
		
	Else
		logFile.WriteLine("File Does Not Exist: " & signatureLocation & "\External-Logo.txt")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteSignatureLocation & "\External-Logo.txt")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteSignatureLocation & "\External-Logo.txt", signatureLocation & "\"
		CheckError("Copying External-Logo.txt")
	End If
	
	'	.....................
	'	Check if the Word User Interface file containing ribbon elements exists locally
	'	.....................
	If myFileSys.FileExists(interfaceFileLocation & "\Word.officeUI") Then
		logFile.WriteLine("File Exists: " & interfaceFileLocation & "\Word.officeUI")
	Else
		logFile.WriteLine("File Does Not Exist: " & interfaceFileLocation & "\Word.officeUI")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteTemplateLocation & "\Word.officeUI")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteTemplateLocation & "\Word.officeUI", interfaceFileLocation & "\"
		CheckError("Copying Word User Interface File")
	End If
	
	'	.....................
	'	Check if the Outlook User Interface file containing ribbon elements exists locally
	'	.....................
	If myFileSys.FileExists(interfaceFileLocation & "\olkexplorer.officeUI") Then
		logFile.WriteLine("File Exists: " & interfaceFileLocation & "\olkexplorer.officeUI")
	Else
		logFile.WriteLine("File Does Not Exist: " & interfaceFileLocation & "\olkexplorer.officeUI")
		logFile.WriteLine(".... attempting to copy this file locally:" & remoteTemplateLocation & "\olkexplorer.officeUI")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remoteTemplateLocation & "\olkexplorer.officeUI", interfaceFileLocation & "\"
		CheckError("Copying Outlook User Interface File")
	End If
	
	
	'	.....................
	'	Check for the Intranet link on the desktop
	'	.....................
	If myFileSys.FileExists(desktopLocation & "\Intranet.lnk") Then
		logFile.WriteLine("File Exists: " & desktopLocation & "\Intranet.lnk")
	Else
		logFile.WriteLine("File Does Not Exist: " & desktopLocation & "\Intranet.lnk")
		logFile.WriteLine(".... attempting to copy this file locally:" & remotePublicLocation & "\Intranet.lnk")
		
	'		If the file doesn't exist locally copy it from a remote location
		myFileSys.CopyFile remotePublicLocation & "\Intranet.lnk", desktopLocation & "\"
		CheckError("Copying Intranet.lnk")
	End If

End Sub


Sub DeleteFiles()

	On Error Resume Next

	Dim signatureLocation, sysprepLocation, pantherLocation, templateLocation
	
	templateLocation = appdataEnv & "\Microsoft\Templates"
	signatureLocation = appdataEnv & "\Microsoft\Signatures"
	sysprepLocation = windirEnv & "\System32\sysprep"
	pantherLocation = windirEnv & "\panther"
	
	logFile.WriteLine("")
	logFile.WriteLine(".....................")
	logFile.WriteLine("....Deleting Files...")
	logFile.WriteLine(".....................")
	logFile.WriteLine("")
	
	'	.....................
	'	Check if certain files exist and delete them
	'	.....................
	
	'	.....................
	'	Check if Word backup Normal.dotm file containing VB macros exists locally
	'	.....................
	If myFileSys.FileExists(templateLocation & "\" & yesterday & "-Normal.dotm") Then
		logFile.WriteLine("File Exists: " & templateLocation & "\" & yesterday & "-Normal.dotm")
		logFile.WriteLine(".... attempting to delete this file: " & templateLocation & "\" & yesterday & "-Normal.dotm")
		
		myFileSys.DeleteFile templateLocation & "\" & yesterday & "-Normal.dotm"
		CheckError("Deleting: " & templateLocation & "\" & yesterday & "-Normal.dotm")
	Else
		logFile.WriteLine("File Does Not Exist: " & templateLocation & "\" & yesterday & "-Normal.dotm")
	End If

	If myFileSys.FileExists(signatureLocation & " disclaimer.htm") Then
		logFile.WriteLine("File Exists: " & signatureLocation & " disclaimer.htm")
		logFile.WriteLine(".... attempting to delete this file: " & signatureLocation & " disclaimer.htm")
		
		myFileSys.DeleteFile signatureLocation & " disclaimer.htm"
		CheckError("Deleting: " & signatureLocation & " disclaimer.htm")
	Else
		logFile.WriteLine("File Does Not Exist: " & signatureLocation & " disclaimer.htm")
	End If
	
	If myFileSys.FileExists(signatureLocation & " disclaimer.rtf") Then
		logFile.WriteLine("File Exists: " & signatureLocation & " disclaimer.rtf")
		logFile.WriteLine(".... attempting to delete this file: " & signatureLocation & " disclaimer.rtf")
		
		myFileSys.DeleteFile signatureLocation & " disclaimer.rtf"
		CheckError("Deleting: " & signatureLocation & " disclaimer.rtf")
	Else
		logFile.WriteLine("File Does Not Exist: " & signatureLocation & " disclaimer.rtf")
	End If
	
	If myFileSys.FileExists(signatureLocation & " disclaimer.txt") Then
		logFile.WriteLine("File Exists: " & signatureLocation & " disclaimer.txt")
		logFile.WriteLine(".... attempting to delete this file: " & signatureLocation & " disclaimer.txt")
		
		myFileSys.DeleteFile signatureLocation & " disclaimer.txt"
		CheckError("Deleting: " & signatureLocation & " disclaimer.txt")
	Else
		logFile.WriteLine("File Does Not Exist: " & signatureLocation & " disclaimer.txt")
	End If
	
	If myFileSys.FileExists(sysprepLocation & "\Unattend.xml") Then
		logFile.WriteLine("File Exists: " & sysprepLocation & "\Unattend.xml")
		logFile.WriteLine(".... attempting to delete this file: " & sysprepLocation & "\Unattend.xml")
		
		myFileSys.DeleteFile sysprepLocation & "\Unattend.xml"
		CheckError("Deleting: " & sysprepLocation & "\Unattend.xml")
	Else
		logFile.WriteLine("File Does Not Exist: " & sysprepLocation & "\Unattend.xml")
	End If
	
	If myFileSys.FileExists(pantherLocation & "\Unattend.xml") Then
		logFile.WriteLine("File Exists: " & pantherLocation & "\Unattend.xml")
		logFile.WriteLine(".... attempting to delete this file: " & pantherLocation & "\Unattend.xml")
		
		myFileSys.DeleteFile pantherLocation & "\Unattend.xml"
		CheckError("Deleting: " & pantherLocation & "\Unattend.xml")
	Else
		logFile.WriteLine("File Does Not Exist: " & pantherLocation & "\Unattend.xml")
	End If


End Sub


Sub MapDrives()
	
	Dim fDriveName, sDriveName, hDriveName

	logFile.WriteLine("")
	logFile.WriteLine(".....................")
	logFile.WriteLine("....Mapping Drives...")
	logFile.WriteLine(".....................")
	logFile.WriteLine("")
	
	
	On Error Resume Next
	
	fDriveName = "F Drive"
	sDriveName = "Scan Drive"
	hDriveName = usernameEnv & "'s Drive"
	
	'	.....................
	'	Check for Network Drives - remove and remap
	'	.....................
	If myFileSys.DriveExists("F:") Then
		logFile.WriteLine("")
		logFile.WriteLine("Drive Exists: F:")
		logFile.WriteLine(".... Removing and remapping to ensure correct UNC path")
	'		Remove network drive
		myNetwork.RemoveNetworkDrive "F:",true,true
		CheckError("Removing F: Drive Mapping")
	'		Add Network Drive
		myNetwork.MapNetworkDrive "F:", "\\SVR015\Sys"
		CheckError("Creating F: Drive Mapping")
	'		Assign Usable Volume Name
		logFile.WriteLine(".... Changing drive name to: " & fDriveName)
		appShell.NameSpace("F:").Self.Name = fDriveName
		CheckError("Changing F: Drive Volume Name")
	Else
		logFile.WriteLine("")
		logFile.WriteLine("Drive Does Not Exist: F:")
		logFile.WriteLine(".... Mapping F: Drive")
	'		Add Network Drive
		myNetwork.MapNetworkDrive "F:", "\\SVR015\Sys"
		CheckError("Creating F: Drive Mapping")
		'		Assign Usable Volume Name
		logFile.WriteLine(".... Changing drive name to: " & fDriveName)
		appShell.NameSpace("F:").Self.Name = fDriveName
		CheckError("Changing F: Drive Volume Name")
	End If
	
	
	'	.....................
	'	Check for Network Drives - remove and remap
	'	.....................
	If myFileSys.DriveExists("S:") Then
		logFile.WriteLine("")
		logFile.WriteLine("Drive Exists: S:")
		logFile.WriteLine(".... Removing and remapping to ensure correct UNC path")
	'		Remove network drive
		myNetwork.RemoveNetworkDrive "S:"
		CheckError("Removing S: Drive Mapping")
	'		Add Network Drive
		myNetwork.MapNetworkDrive "S:", "\\ScanSVR\SCAN"
		CheckError("Creating S: Drive Mapping")
	'		Assign Usable Volume Name
		logFile.WriteLine(".... Changing drive name to: " & sDriveName)
		appShell.NameSpace("S:").Self.Name = sDriveName
		CheckError("Changing S: Drive Volume Name")
	Else
		logFile.WriteLine("")
		logFile.WriteLine("Drive Does Not Exist: S:")
		logFile.WriteLine(".... Mapping S: Drive")
	'		Add Network Drive
		myNetwork.MapNetworkDrive "S:", "\\ScanSVR\SCAN"
		CheckError("Creating S: Drive Mapping")
		'		Assign Usable Volume Name
		logFile.WriteLine(".... Changing drive name to: " & sDriveName)
		appShell.NameSpace("S:").Self.Name = sDriveName
		CheckError("Changing S: Drive Volume Name")
	End If
	
	'	.....................
	'	Check for Personal Network Drive - Rename
	'	.....................
	If myFileSys.DriveExists("H:") Then
		logFile.WriteLine("")
		logFile.WriteLine("Drive Exists: H:")
		logFile.WriteLine(".... Changing drive name to: " & hDriveName)
		appShell.NameSpace("H:").Self.Name = hDriveName
		CheckError("Changing H: Drive Volume Name")
	Else
		logFile.WriteLine("")
		logFile.WriteLine("Drive Does Not Exist: H:")
	End If

End Sub

'	Subroutine used to report Errors to the Logfile
Sub CheckError(Description)

	If Err.number <> 0 Then
		logFile.WriteLine("...Error at: " & Description)
		logFile.WriteLine("......Error Number: " & Err.number)
		logFile.WriteLine("......Error Details: " & Err.description)
		Err.Clear
	Else
		logFile.WriteLine("...SUCCESS... " & Description)
	End If

End Sub

Open in new window

0
 
LVL 18

Accepted Solution

by:
Steven Harris earned 500 total points
ID: 39695370
I may be kind of 'old-school', but I always fall back to:  If it's not broke, why fix it?

In my opinion, the NET command is still one of the most functional network management resources, and is very easy to use and modify.

No offense to Red-King, but going from a one line command to a 500+ line script seems like a backwards type of logic, even with the flexibility it offers.
0
 
LVL 9

Expert Comment

by:Red-King
ID: 39695454
In my defence about half of those 500+ lines are Blank lines, Comments and entries into the log file.
And with the amount of different things I've going on in that script you'd need about a 50 line bat file so I'm only adding an extra 200 lines ;)
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Suggested Solutions

Learn to move / copy / export exchange contacts to iPhone without using any software. Also see the issues in configuration of exchange with iPhone to migrate contacts.
Possible fixes for Windows 7 and Windows Server 2008 updating problem. Solutions mentioned are from Microsoft themselves. I started a case with them from our Microsoft Silver Partner option to open a case and get direct support from Microsoft. If s…
This tutorial will walk an individual through the steps necessary to configure their installation of BackupExec 2012 to use network shared disk space. Verify that the path to the shared storage is valid and that data can be written to that location:…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now