Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


October 22, 2001

Rem: Masking Passwords in Scripts


RSS
View this exclusive article with VIP access -- click here to join | See More VBScript Articles Here | Reprints
Or sign up for our VIP Monthly Pass!

Download the Code Here

Do you have a scripting-related question or problem? You can send your question or problem to winscriptsol@win2000mag.com.

I need to create a script that prompts the operator for a password. I know that I can use VBScript's InputBox function or the WScript object's StdIn property in Windows Script Host (WSH) to prompt the user. However, both InputBox and StdIn display the password as the user types it. I prefer to mask the password. Does VBScript or WSH provide a way to mask passwords?

Neither VBScript nor WSH can mask passwords. However, Windows .NET Server (formerly code-named Whistler) and Windows XP include a new password component, scriptpw.dll, that provides this functionality. Script-pw.dll is a standard system component that resides in the \%system root%\ system 32 directory.

Listing 1 illustrates how you can use scriptpw.dll to retrieve a user's password without displaying the password as the user types it. The script begins by creating an instance of the Password object using VBScript's Create-Object function with the password component's programmatic identifier (ProgID), ScriptPW.Password.

Next, the script displays a prompt that tells the user to enter a password. After the user enters a password and presses Enter, the Password object's GetPassword method retrieves the password and returns the captured text as a string. The script stores the string in the strPassword variable. For the purpose of this example, the last line of the script echoes the value of strPassword. You wouldn't want to include this line in an actual script because it defeats the purpose of using scriptpw.dll to mask the password.

Because you can use the password component only at the command prompt, you must use the CScript host to run WSH scripts that call scriptpw.dll. Using the WScript host will result in an error.

End of Article



Reader Comments
<P>While this works for the CScript host, what I'm looking for is something similar that I can run under the WScript host. There must be something suitable somewhere!</P>

Andrew Good September 01, 2003


<P>Where can you find that .dll? I searched my XP Pro CD-ROM and it does not appear. Am I missing something here?</P>

Rhino March 05, 2004


To Andrew:

You need to force your script to run under CScript. I found this online, and it works for me:

Sub Force(sScriptEng)
' Forces this script to be run under the desired scripting host.
' Valid sScriptEng arguments are "wscript" or "cscript".
' If you don't supply a valid name, Force will switch hosts.

If Lcase(Right(Wscript.FullName, 12)) = "\wscript.exe" Then
'WScript.Echo "Running under WSCRIPT"
If Instr(1, Wscript.FullName, sScriptEng, 1) = 0 Then
'Need to switch to CSCRIPT
CreateObject("Wscript.Shell").Run "cscript.exe " & Chr(34) & Wscript.ScriptFullName & Chr(34)
Wscript.Quit
End If
Else
'WScript.Echo "Running under CSCRIPT"
If Instr(1, Wscript.FullName, sScriptEng, 1) = 0 Then
'Need to switch to WSCRIPT
CreateObject("Wscript.Shell").Run "wscript.exe " & Wscript.ScriptFullName
Wscript.Quit
End If
End If
end sub

Force "csript"

hypert September 16, 2004 (Article Rating: )


Well, the formatting of that code looks great, doesn't it?

Let me try to force linebreaks in there:

Sub Force(sScriptEng)

' Forces this script to be run under the desired scripting host.

' Valid sScriptEng arguments are "wscript" or "cscript".

' If you don't supply a valid name, Force will switch hosts.

If Lcase(Right(Wscript.FullName, 12)) = "\wscript.exe" Then

'WScript.Echo "Running under WSCRIPT"

If Instr(1, Wscript.FullName, sScriptEng, 1) = 0 Then

'Need to switch to CSCRIPT

CreateObject("Wscript.Shell").Run "cscript.exe " & Chr(34) & Wscript.ScriptFullName & Chr(34)

Wscript.Quit

End If

Else

'WScript.Echo "Running under CSCRIPT"

If Instr(1, Wscript.FullName, sScriptEng, 1) = 0 Then

'Need to switch to WSCRIPT

CreateObject("Wscript.Shell").Run "wscript.exe " & Wscript.ScriptFullName

Wscript.Quit

End If

End If

end sub

Force "cscript"


hypert September 16, 2004 (Article Rating: )


salut

Anonymous User December 28, 2004


You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
The Memory-Optimization Hoax

Don't believe the hype. At best, RAM optimizers have no effect. At worst, they seriously degrade performance. ...

WinInfo Short Takes: Week of July 21, 2008

An often irreverent look at some of the week's other news, including an iPhone 3G defeat, 180 million copies of Windows Vista in the wild, Microsoft earnings some more Yahoo silliness, Wii vs. Xbox 360, EU vs. Intel, AMD ousts its CEO, and so much more ...

What service packs and fixes are available?

...


Related Events Check out our list of Free Email Newsletters!

Scripting eBooks Keeping Your Business Safe from Attack: Encryption and Certificate Services

Best Practices for Managing Linux and UNIX Servers

Building an Effective Reporting System

Related Scripting Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

Shortcut Guide to SQL Server Infrastructure Optimization
With right tools and techniques, you can have a top-performing SQL Server infrastructure without having to cram your data centers so that they're overflowing. Download this eBook to learn how.

WinConnections Conference Fall 2008
Don’t miss the premier event for Microsoft IT Professionals in Las Vegas, November 10-13. Register and book your room by August 25 and receive a FREE room night (based on a three night minimum stay).

Become a fan of Windows IT Pro on Facebook!
Join us on Facebook and be a fan of Windows IT Pro!

Continuous Data Protection and Recovery for Exchange
Read this white paper to learn about Continuous Data Protection (CDP), Exchange 2007's local continuous replication and cluster continuous replication features.

Rev Up Your IT Know-How with Our Recharged Magazine!
The improved Windows IT Pro provides trusted IT content with an enhanced new look and functionality! Get comprehensive coverage of industry topics, expert advice, and real-world solutions—PLUS access to over 10,000 articles online. Order today!

Tips to Managing Messaging
Discover three fundamental mail and messaging management services - security, availability and control services - and how you can implement them in a Microsoft-centric mail and messaging environment.

Get It All with Windows IT Pro VIP
Stock your IT toolbox with every solution ever printed in Windows IT Pro and SQL Server Magazine plus bonus Web-exclusive content on hot topics. Subscribe to receive the VIP CD and a subscription to your choice of Windows IT Pro or SQL Server Magazine!



Drag & Drop Data Mapping Tool
Try this award-winning data mapping, & transformation tool that supports multiple databases, flat files, Web services, EDI, Excel 2007, & more! Free trial for 30 days!

Overcome bloated Windows file systems
Crossroads FMA delivers powerful yet inexpensive data migration

Bandwidth Monitoring Tool from SolarWinds
Identify largest bandwidth users in seconds. Get the free download now.

Speed Deployment of Vista and Microsoft Office
Read this white paper to learn how you can maximize your Vista and Office investments while lowering costs and increasing efficiency.

Integrated Virtualization Done Right
Download this white paper on server virtualization to begin improving resource utilization and lowering operating costs.

Order Your Fundamentals CD Today!
Gain an introduction to Exchange, learn server security requirements, and understand how unified communications can play a role in your messaging strategies with this free Exchange CD.

KVM over IP Solutions
Learn about a KVM over IP solution that is specifically designed to meet the needs of the distributed IT environment.
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound
IT Library Technical Resources Directory Connected Home Windows Excavator SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing