Solved

Need VBS logon script to map drives and printers by user group

Posted on 2004-05-02
10
45,473 Views
Last Modified: 2012-05-04
Hello,
First I am not a formal IT manager or network administrator, but in our company I am the most computer literate so I have been given the task of setting up our network.

I have read almost every post to this site regarding logon scripts, I have been able to implement several and at one time thought I had compiled enough snippets of code found here and other places to do exactly what I needed, well in short it didn’t work like it was suppose to. It worked but not by user groups.

Here is a little info about or environment.
We are on a domain let’s call it domain.local
Our Server is SBS 2003 Premium (I will be adding a second 2003 Standard Server soon)
We have 15 Client PC's all either XP or 2000 with current service packs.
20 or so users, all users with roaming profiles.
All users are given local Administrative rights due to some software requirements.  This is done on each client PC in the local policy.
Im sure there is a way around this possibley to start the program with runas\user but I will tackle that later unless it is absolutly relevant
to this request.

6 Security Groups I have created and distributed to users to use the log on script I am trying to create.

Administrators
Managers
Accounting
Design
Design East (for mapping printers only)
Design West (for mapping printers only)

Before I go any further I am wanting this in VB, I don’t want to use Kixart or Bat files unless this just can’t be done in VB script but i am pretty sure it can.

What I am wanting is a logon script to do the following
_______________________________________________________

1. Clear the below drive letters if already mapped

2. Map drives per group
 a. The first group could be all domain users
 Map Drive F to \\server\public
 Map Drive G to \\server\Office Documents

 b. The second group Administrators
 Map Drive H to \\Server\admin tools
 Map Drive I to \\Server\all shares

 c. The third group Managers
 Map Drive J to \\Server\Managers
 Map Drive L to \\Server\Customers

 d. The fourth group Accounting
 Map Drive K to \\Server\Accounting
 Map Drive L to \\Server\Customers

 e. The fifth group Design
 Map Drive M to \\Server\Drawings
 Map Drive N to \\Server\Forms

3. I would also like it to map to the logged in users folder.
 Map Drive Z to \\server\users\%username

4. Map Printers by group
 a. Group Accounting
 Connect Printer1 \\server\acounting
 Connect Printer2 \\ server\invoice printer
 Connect Printer3 \\ server\check printer
 Set printer 1 as default

 b. Group Design East
 Connect Printer1 \\server\Design East
 Connect Printer2 \\ server\Plotter
 Set printer 1 as default


 c. Group Design West
 Connect Printer1 \\server\Design West
 Connect Printer2 \\ server\Plotter
 Set printer 1 as default

By defaults SBS sets up all users to use
SBS_LOGIN_SCRIPT.bat

it contains the following.
\\SERVER\Clients\Setup\setup.exe /s SERVER

Can this VB script be referenced by this batch file or can this line be added to the new VB script and then I change users to use the new logon.vbs file instead of SBS_LOGIN_SCRIPT.bat
___________________________________________________________

Please give specific instructions in simplistic terms
I would prefer you just write the code for copy/edit/paste, i've already spent way to much time on it.

Thank you
0
Comment
Question by:tm9
10 Comments
 
LVL 40

Expert Comment

by:Fatal_Exception
ID: 10973367
I really don't have time to research the script, but I will suggest that the command you will need to implement here is the ifmember command, used in scripts to query the group memberships...  I don't expect any points to be awarded for this, but it may help...  :)

Ifmember.exe

http://www.microsoft.com/windows2000/techinfo/reskit/tools/new/ifmember-o.asp
0
 
LVL 7

Expert Comment

by:rhrowson
ID: 10976451
Kix has the facilities you ewant and has been desighned for this sort of thing. Thew command syntax is a damned site easier than a lot of things I have used. For help, do a Google search for Kix scripts
0
 
LVL 20

Expert Comment

by:What90
ID: 10976603
Here's some others VB scripts and how they piece them together


Read though the link and try these:

http://www.experts-exchange.com/Operating_Systems/Windows_Server_2003/Q_20922065.html
http://www.experts-exchange.com/Hardware/Printers/Q_20623076.html
0
 

Author Comment

by:tm9
ID: 10977261

I was aware of both, like I said earlier I have read every post on this site
regarding log on scripts. Ive also googled it to death.
I think it must be something simple, or maybe I am just a little to dense to get it.

Anyways below is what I have so far, It all works except for not by group
all users, regardless of what group they belong to get All drives mapped.
That doesent mean they have permissions but they are mapped.

My script logon.vbs is here \\Server\netlogon

Also in that folder are these 2 files
con2prt.exe
IFMEMBER.EXE

_______________________logon.vbs__________________________
on error resume next
Dim WshNetwork
Set WshNetwork = CreateObject("WScript.Network")

If IsMember(WshNetwork.username, "Domain Admin") Then
wshnetwork.MapNetworkDrive "m:", "\\Server\Office Documents"
wshnetwork.MapNetworkDrive "n:", "\\Server\Admin Tools"
wshnetwork.MapNetworkDrive "o:", "\\Server\Ghost Images"
wshnetwork.MapNetworkDrive "p:", "\\Server\Job Pictures"

If IsMember(WshNetwork.username, "Domain Users") Then
wshnetwork.MapNetworkDrive "m:", "\\Server\Office Documents"
wshnetwork.MapNetworkDrive "p:", "\\Server\Job Pictures"
wshnetwork.MapNetworkDrive "r:", "\\Server\Drawings"
End If

If IsMember(WshNetwork.username, "Domain Admin") Then
PrinterPath = "\\server\chris"
PrinterPath2 = "\\server\lazerjet"
WshNetwork.AddWindowsPrinterConnection PrinterPath
WshNetwork.SetDefaultPrinter PrinterPath2
End If

Shell ("\\SERVER\Clients\Setup\setup.exe /s SERVER")

________________________________________________________

The drives map to all users regardless of group membership.
Printers all map regardless of membership.

I dont know if the Shell line is valid or not.

If I could get this example to work by group I could edit it to add
my 6 groups mentioned in origional post.

Thanks again.
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 

Author Comment

by:tm9
ID: 10999688
Ok, I have scapped the above scripts and have the below working,
I would like this script to check each users membership in the groups and map drives or printers for multiple memberships.
At present if you belong to the Admin group it stops there.

I will award the points to anyone that can solve that.

Much kudos to Guy Thomas http://computerperformance.co.uk/ 
where i found most of the code below.

'------------------------logon.vbs--------------------------------
Option Explicit
Dim objNetwork, objUser, CurrentUser
Dim strGroup

Const Admin_Group = "cn=oly_users_admin"
Const Managers_Group = "cn=oly_users_manager"
Const Accounting_Group = "oly_users_accounting"
Const Estimate_Group = "cn=oly_users_estimate"
Const Design_East_Group = "cn=oly_design_east"
Const Design_West_Group = "cn=oly_design_west"
Const All_Users_Group = "cn=oly_users_all"

Set objNetwork = CreateObject("WScript.Network")
' Forces script to skip errors (rem below line to see errors)
on error resume next

Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
' Set all drives to be removed here.
WshNetwork.RemoveNetworkDrive "m:"
WshNetwork.RemoveNetworkDrive "n:"
WshNetwork.RemoveNetworkDrive "o:"
WshNetwork.RemoveNetworkDrive "p:"
WshNetwork.RemoveNetworkDrive "q:"
WshNetwork.RemoveNetworkDrive "r:"
WshNetwork.RemoveNetworkDrive "s:"
WshNetwork.RemoveNetworkDrive "t:"
WshNetwork.RemoveNetworkDrive "u:"
WshNetwork.RemoveNetworkDrive "v:"
WshNetwork.RemoveNetworkDrive "w:"
WshNetwork.RemoveNetworkDrive "x:"
WshNetwork.RemoveNetworkDrive "y:"
WshNetwork.RemoveNetworkDrive "z:"

Set objUser = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
strGroup = LCase(Join(CurrentUser.MemberOf))

If InStr(strGroup, Admin_Group) Then
WScript.Echo "You are logged into the Admin Group "
 objNetwork.MapNetworkDrive "m:", "\\olysbs\slg shared "
 objNetwork.MapNetworkDrive "n:", "\\server\drawings"
 objNetwork.MapNetworkDrive "o:", "\\olysbs\job costing"
 objNetwork.MapNetworkDrive "p:", "\\olysbs\slg"
 objNetwork.MapNetworkDrive "q:", "\\server\catalouges"
 objNetwork.MapNetworkDrive "r:", "\\server\job photos"
 objNetwork.MapNetworkDrive "s:", "\\server\slic"
 objNetwork.MapNetworkDrive "t:", "\\olysbs\office documents"
 objNetwork.MapNetworkDrive "u:", "\\olysbs\hr"
 objNetwork.MapNetworkDrive "v:", "\\olysbs\manager"
 objNetwork.MapNetworkDrive "w:", "\\olysbs\accounting"
 objNetwork.MapNetworkDrive "x:", "\\server\sprink slick"
 objNetwork.MapNetworkDrive "y:", "\\server\public"
 objNetwork.MapNetworkDrive "z:", "\\olysbs\Users\" _
 & objNetwork.UserName

 
Dim net
Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\olysbs\chris", "Chris's Printer"
net.AddWindowsPrinterConnection "\\olysbs\frank", "Frank's Printer"
net.AddWindowsPrinterConnection "\\olysbs\shop", "Shop Printer"
net.AddWindowsPrinterConnection "\\olysbs\11x17", "11x17 Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice1", "Main Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice2", "BU Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\office", "Main Office Printer"
net.AddWindowsPrinterConnection "\\server\design east", "Design East"
net.AddWindowsPrinterConnection "\\server\design east", "Design West"
net.AddWindowsPrinterConnection "\\server\lee", "Lee's Printer"
'Removed the below line because if I log into another users workstation it set this as default printer for them if one is not set
'net.SetDefaultPrinter "\\olysbs\chris"
 
 
 
 
ElseIf InStr(strGroup, Managers_Group) Then
WScript.Echo " You are logged into the Managers Group " 
 objNetwork.MapNetworkDrive "m:", "\\olysbs\slg shared "
 objNetwork.MapNetworkDrive "o:", "\\olysbs\job costing"
 objNetwork.MapNetworkDrive "q:", "\\server\catalouges"
 objNetwork.MapNetworkDrive "r:", "\\server\job photos"
 objNetwork.MapNetworkDrive "t:", "\\olysbs\office documents"
 objNetwork.MapNetworkDrive "v:", "\\olysbs\manager"
 objNetwork.MapNetworkDrive "y:", "\\server\public"
 objNetwork.MapNetworkDrive "z:", "\\olysbs\Users\" _
 & objNetwork.UserName

 

Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\olysbs\chris", "Chris's Printer"
net.AddWindowsPrinterConnection "\\olysbs\frank", "Frank's Printer"
net.AddWindowsPrinterConnection "\\olysbs\shop", "Shop Printer"
net.AddWindowsPrinterConnection "\\olysbs\11x17", "11x17 Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice1", "Main Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice2", "BU Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\office", "Main Office Printer"
net.AddWindowsPrinterConnection "\\server\design east", "Design East"
net.AddWindowsPrinterConnection "\\server\design east", "Design West"
net.AddWindowsPrinterConnection "\\server\lee", "Lee's Printer"


ElseIf InStr(strGroup, Estimate_Group) Then
WScript.Echo " You are logged into the Estimators Group " 
 objNetwork.MapNetworkDrive "m:", "\\olysbs\slg shared "
 objNetwork.MapNetworkDrive "n:", "\\server\drawings"
 objNetwork.MapNetworkDrive "o:", "\\olysbs\job costing"
 objNetwork.MapNetworkDrive "q:", "\\server\catalouges"
 objNetwork.MapNetworkDrive "r:", "\\server\job photos"
 objNetwork.MapNetworkDrive "t:", "\\olysbs\office documents"
 objNetwork.MapNetworkDrive "y:", "\\server\public"
 objNetwork.MapNetworkDrive "z:", "\\olysbs\Users\" _
 & objNetwork.UserName

 

Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\olysbs\chris", "Chris's Printer"
net.AddWindowsPrinterConnection "\\olysbs\frank", "Frank's Printer"
net.AddWindowsPrinterConnection "\\olysbs\shop", "Shop Printer"
net.AddWindowsPrinterConnection "\\olysbs\11x17", "11x17 Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice1", "Main Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice2", "BU Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\office", "Main Office Printer"
net.AddWindowsPrinterConnection "\\server\design east", "Design East"
net.AddWindowsPrinterConnection "\\server\design east", "Design West"
net.AddWindowsPrinterConnection "\\server\lee", "Lee's Printer"

 
 
 
ElseIf InStr(strGroup, Design_East_Group) Then
WScript.Echo "You are logged into the Design East Group " & strGroup
 objNetwork.MapNetworkDrive "n:", "\\server\drawings"
 objNetwork.MapNetworkDrive "q:", "\\server\catalouges"
 objNetwork.MapNetworkDrive "r:", "\\server\job photos"
 objNetwork.MapNetworkDrive "t:", "\\olysbs\office documents"
 objNetwork.MapNetworkDrive "x:", "\\server\sprink slick"
 objNetwork.MapNetworkDrive "y:", "\\server\public"
 objNetwork.MapNetworkDrive "z:", "\\olysbs\Users\" _
 & objNetwork.UserName

 

Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\olysbs\chris", "Chris's Printer"
net.AddWindowsPrinterConnection "\\olysbs\frank", "Frank's Printer"
net.AddWindowsPrinterConnection "\\olysbs\shop", "Shop Printer"
net.AddWindowsPrinterConnection "\\olysbs\11x17", "11x17 Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice1", "Main Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice2", "BU Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\office", "Main Office Printer"
net.AddWindowsPrinterConnection "\\server\design east", "Design East"
net.AddWindowsPrinterConnection "\\server\design east", "Design West"
net.AddWindowsPrinterConnection "\\server\lee", "Lee's Printer"
net.SetDefaultPrinter "\\olysbs\design east"
 
 
ElseIf InStr(strGroup, Design_West_Group) Then
WScript.Echo "You are logged into the Design West Group " & strGroup
 objNetwork.MapNetworkDrive "n:", "\\server\drawings"
 objNetwork.MapNetworkDrive "q:", "\\server\catalouges"
 objNetwork.MapNetworkDrive "r:", "\\server\job photos"
 objNetwork.MapNetworkDrive "t:", "\\olysbs\office documents"
 objNetwork.MapNetworkDrive "x:", "\\server\sprink slick"
 objNetwork.MapNetworkDrive "y:", "\\server\public"
 objNetwork.MapNetworkDrive "z:", "\\olysbs\Users\" _
 & objNetwork.UserName

 

Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\olysbs\chris", "Chris's Printer"
net.AddWindowsPrinterConnection "\\olysbs\frank", "Frank's Printer"
net.AddWindowsPrinterConnection "\\olysbs\shop", "Shop Printer"
net.AddWindowsPrinterConnection "\\olysbs\11x17", "11x17 Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice1", "Main Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice2", "BU Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\office", "Main Office Printer"
net.AddWindowsPrinterConnection "\\server\design east", "Design East"
net.AddWindowsPrinterConnection "\\server\design east", "Design West"
net.AddWindowsPrinterConnection "\\server\lee", "Lee's Printer"
net.SetDefaultPrinter "\\olysbs\design west"

'Remove rem for shares to all users
'ElseIf InStr(strGroup, All_Users_Group) Then
'WScript.Echo "All Users Group " & strGroup
' objNetwork.MapNetworkDrive "h:", "\\Another Server\Users\" _
' & objNetwork.UserName

End If
Wscript.Echo "Drives & Printers have been mapped for your group "

WScript.Quit
' End of Script.


'Below is only for refference for writing script

'Company Drives
'A Saved for Local
'B Saved for Local
'C Saved for Local
'D Saved for Local
'E Saved for Local
'F Saved for Local
'G Saved for Local
'H Open
'I Open
'J Open
'k Open
'L Open
'M \\olysbs\slg shared
'N \\server\drawings
'O \\olysbs\job costing
'P \\olysbs\slg
'Q \\server\catalouges
'R \\server\job photos
'S \\server\slic
'T \\olysbs\office documents
'U \\olysbs\hr
'V \\olysbs\manager
'W \\olysbs\accounting
'X \\server\sprink slick
'Y \\server\public
'Z \\olysbs\users\%username

'Company Printers
'\\olysbs\chris
'\\olysbs\frank
'\\olysbs\shop
'\\olysbs\main
'\\olysbs\11x17
'\\server\design east
'\\server\design west
'\\server\plotter
'\\server\lee

'---------------------------------end logon.vbs---------------------------
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 11002730
It seems like a problem in your if structure..
Now you have something like this:
if Const Admin_Group  ...
elsif Const Managers_Group ...
elseIf Const Accounting_Group ...
...
end if.

It will always run for 1 group only. If you want to make sure it works for every group then you'll have to change your if-structure to :

if Const Admin_Group  ...
end if
if Const Managers_Group  ...
end if
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 11005358
There's a lot of overhead in your code....

Option Explicit
Dim objNetwork, objUser, CurrentUser
Dim strGroup

Const Admin_Group = "cn=oly_users_admin"
Const Managers_Group = "cn=oly_users_manager"
Const Accounting_Group = "oly_users_accounting"
Const Estimate_Group = "cn=oly_users_estimate"
Const Design_East_Group = "cn=oly_design_east"
Const Design_West_Group = "cn=oly_design_west"
Const All_Users_Group = "cn=oly_users_all"

Set objNetwork = CreateObject("WScript.Network")
' Forces script to skip errors (rem below line to see errors)
on error resume next

Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
' Set all drives to be removed here.
WshNetwork.RemoveNetworkDrive "m:"
WshNetwork.RemoveNetworkDrive "n:"
WshNetwork.RemoveNetworkDrive "o:"
WshNetwork.RemoveNetworkDrive "p:"
WshNetwork.RemoveNetworkDrive "q:"
WshNetwork.RemoveNetworkDrive "r:"
WshNetwork.RemoveNetworkDrive "s:"
WshNetwork.RemoveNetworkDrive "t:"
WshNetwork.RemoveNetworkDrive "u:"
WshNetwork.RemoveNetworkDrive "v:"
WshNetwork.RemoveNetworkDrive "w:"
WshNetwork.RemoveNetworkDrive "x:"
WshNetwork.RemoveNetworkDrive "y:"
WshNetwork.RemoveNetworkDrive "z:"

Set objUser = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
strGroup = LCase(Join(CurrentUser.MemberOf))

' SETTING ALL NETWORKDRIVES THAT ARE AVAILABLE FOR EVERY USER
objNetwork.MapNetworkDrive "q:", "\\server\catalouges"
 objNetwork.MapNetworkDrive "r:", "\\server\job photos"
 objNetwork.MapNetworkDrive "t:", "\\olysbs\office documents"
 objNetwork.MapNetworkDrive "y:", "\\server\public"
 objNetwork.MapNetworkDrive "z:", "\\olysbs\Users\"  & objNetwork.UserName

' SETTING THE PRINTERS, APPARANTLY FOR EVERYONE THE SAME !
Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\olysbs\chris", "Chris's Printer"
net.AddWindowsPrinterConnection "\\olysbs\frank", "Frank's Printer"
net.AddWindowsPrinterConnection "\\olysbs\shop", "Shop Printer"
net.AddWindowsPrinterConnection "\\olysbs\11x17", "11x17 Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice1", "Main Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\invoice2", "BU Invoice Printer"
net.AddWindowsPrinterConnection "\\olysbs\office", "Main Office Printer"
net.AddWindowsPrinterConnection "\\server\design east", "Design East"
net.AddWindowsPrinterConnection "\\server\design east", "Design West"
net.AddWindowsPrinterConnection "\\server\lee", "Lee's Printer"

' EXTRA DRIVES FOR SPECIFIC GROUP

if InStr(strGroup, Admin_Group) or instr(strGrooup, Managars_Group) or instr(strGrooup, Estimate_Group) then
   objNetwork.MapNetworkDrive "m:", "\\olysbs\slg shared "
   objNetwork.MapNetworkDrive "o:", "\\olysbs\job costing"
end if

if InStr(strGroup, Admin_Group) or instr(strGrooup, Managars_Group) then
   objNetwork.MapNetworkDrive "v:", "\\olysbs\manager"
end if

if instr(strGroup, Managars_Group) or instr(strGroup, Design_East_Group) or  =instr(strGroup,Design_West_Group) then
   objNetwork.MapNetworkDrive "x:", "\\server\sprink slick"
end if

if instr(strGrooup, Managars_Group)
  objNetwork.MapNetworkDrive "n:", "\\server\drawings"
end if

if InStr(strGroup, Admin_Group) then
 objNetwork.MapNetworkDrive "p:", "\\olysbs\slg"
 objNetwork.MapNetworkDrive "s:", "\\server\slic"
 objNetwork.MapNetworkDrive "u:", "\\olysbs\hr"
 objNetwork.MapNetworkDrive "w:", "\\olysbs\accounting"
end if
0
 

Author Comment

by:tm9
ID: 11016821
Please close this question.
Points have been awarded in the VBS section
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 11186987
PAQed, with points refunded (500)

modulo
Community Support Moderator
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have never ceased to be amazed how many problems you can encounter on a fresh install of a Windows operating system.  This is certainly case in point& Unable to complete ANY MSI installation.  This means Windows Updates are failing and I can't …
I guess it is not common knowledge to most Wintel engineers/administrators: If you have an SNMP-based monitoring system in your environment (and it's common to have SNMP or Syslog) it's reasonably easy to enable monitoring of the Windows Event logs,…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

863 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

24 Experts available now in Live!

Get 1:1 Help Now