Solved

Set Computer Location & Printer Location with Comment via BAT script (or VBS)

Posted on 2008-10-23
6
544 Views
Last Modified: 2008-10-26
How do I via a BAT script or VBS do the following for both windows XP and 2000?

- Set Computer Description to 'BuildingX, RoomX"
- Set Printer Location (Local Only.. ie LPT, or USB) to be 'Building_X'
- Set Printer Comment "Room X"

Also bonus points for:

- Set C: "HDD name" to be same as 'PC Name'
0
Comment
Question by:EuroITSales
  • 3
  • 2
6 Comments
 
LVL 5

Expert Comment

by:gratex_ssd
ID: 22790187
try to find atomic solutions at tehcnet script center

like this for "computer location"
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true

0
 
LVL 38

Accepted Solution

by:
Shift-3 earned 500 total points
ID: 22790431
Paste the script below into a text file with a .vbs extension.  Customize the values of the strComputerDesc, strPrinterLocation, and strPrinterComment variables as desired.  Running the script will set the specified values.

The computer description may require a reboot to take effect.


Const HKEY_LOCAL_MACHINE = &H80000002
 

strComputer = "."

strComputerDesc = "BuildingX, RoomX"

strPrinterLocation = "Building_X"

strPrinterComment = "Room X"
 

On Error Resume Next
 

Set objRegistry = GetObject _

    ("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
 

strKeyPath = "System\CurrentControlSet\Services\lanmanserver\parameters"

strValueName = "srvcomment"
 

objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strComputerDesc
 
 

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")

Set colInstalledPrinters = objWMIService.ExecQuery("SELECT * FROM Win32_Printer")
 

For Each objPrinter in colInstalledPrinters

    If Left(objPrinter.Portname, 3) = "LPT" Or Left(objPrinter.Portname, 3) = "USB" Then

        objPrinter.Location = strPrinterLocation

        objPrinter.Comment = strPrinterComment

        objPrinter.Put_

    End If

Next
 

Set objShell = CreateObject("WScript.Shell")

Set WSHShell = CreateObject("Shell.Application")

strComputerName = objShell.ExpandEnvironmentStrings("%computername%")

WSHShell.NameSpace("C:").Self.Name = strComputerName

Open in new window

0
 

Author Comment

by:EuroITSales
ID: 22790692
Wow, your brilliant!!

Although the System Properties > Computer Description didn't set?

0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 38

Expert Comment

by:Shift-3
ID: 22790733
Did you reboot?
0
 

Author Comment

by:EuroITSales
ID: 22790820
Yes, although I'm trying this on Vista (at home!) .. all settings updated apart from Computer Description ... maybe it's 2000/XP only!
0
 
LVL 38

Expert Comment

by:Shift-3
ID: 22792136
I don't know where that setting is stashed in Vista.  Try manually changing the description to something distinctive and then searching for it in Regedit.
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

This article was inspired by a question here at Experts Exchange (http://www.experts-exchange.com/Software/Photos_Graphics/Images_and_Photos/Q_28629170.html). The requirements stated in that question are (1) reduce the file size of a large number of…
I have published numerous articles here at Experts Exchange that present programs/scripts written in a language called AutoHotkey. Each of those articles has a brief paragraph describing where to download the product and how to install it. I have al…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

746 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

10 Experts available now in Live!

Get 1:1 Help Now