login
Forgot?
Login with Facebook

Don't have an account? Register one now!

Convert VB script to Powerhsell

Bids 
3
Avg Bid
$153 USD
CLOSED
  • Project ID:

    761155
  • Project Type:

    Fixed
  • Budget:

    $30-$250 USD

Project Description:

I just need the VB script to be converted to Powerhsell. It's just a script that pull the Monitors info...i.e. Serial #, Manufacture, etc

Code below:

'MonitorInfo.vbs
'this code is based on the EEDID spec found at http://www.vesa.org
'and by my hacking around in the windows registry
'the code was tested on WINXP,WIN2K and WIN2K3
'it should work on WINME and WIN98SE
'It should work with multiple monitors, but that hasn't been tested either.
'*****************************************************************************************
'
'*****************************************************************************************
'It should be noted that this is not 100% reliable
'I have witnessed occasions where for one reason or another windows
'can't or doesn't read the EDID info at boot (example would be someone
'booting with the monitor turned off) and so windows changes the active
'monitor to "Default_Monitor"
'Another reason for reliability problems is that there is no
'requirement in the EDID spec that a manufacture include the
'serial number in the EDID data AND only EDIDv1.2 and beyond
'have a requirement that the EDID contain a descriptive
'model name
'That being said, here goes....
'*****************************************************************************************
'
'*****************************************************************************************
'Monitors are stored in HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY\
'
'Unfortunately, not only monitors are stored here Video Chipsets and maybe some other stuff
'is also here.
'
'Monitors in "HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY" are organized like this:
' HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY\<VESA_Monitor_ID>\<PNP_ID>\
'Since not only monitors will be found under DISPLAY sub key you need to find out which
'devices are monitors.
'This can be deterimined by looking at the value "HardwareID" located
'at HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY\<VESA_Monitor_ID\<PNP_ID>\
'If the device is a monitor then the "HardwareID" value will contain the data "Monitor\<VESA_Monitor_ID>"
'
'The Next difficulty is that all monitors are stored here not just the one curently plugged in.
'So, If you ever switched monitors the old one(s) will still be in the registry.
'You can tell which monitor(s) are active because they will have a sub-key named "Control"
'*****************************************************************************************
'
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim strComputer, message
Dim intMonitorCount
Dim oRegistry, sBaseKey, sBaseKey2, sBaseKey3, skey, skey2, skey3
Dim sValue
dim i, iRC, iRC2, iRC3
Dim arSubKeys, arSubKeys2, arSubKeys3, arrintEDID
Dim strRawEDID
Dim ByteValue, strSerFind, strMdlFind
Dim intSerFoundAt, intMdlFoundAt, findit
Dim tmp, tmpser, tmpmdl, tmpctr
Dim batch, bHeader
batch = False
If WScript.Arguments.Count = 1 Then
strComputer = WScript.Arguments(0)
batch = True
Else
strComputer = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
strComputer = InputBox("Check Monitor info for what PC","PC Name?",strComputer)
End If
If strcomputer = "" Then WScript.Quit
strComputer = UCase(strComputer)
If batch Then
Dim fso,logfile, appendout
logfile = wshShell.ExpandEnvironmentStrings("%userprofile%") & "\desktop\MonitorInfo.csv"

'setup Log
Const ForAppend = 8
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(logfile) Then bHeader = True
set appendout = fso.OpenTextFile(logfile, ForAppend, True)

If bHeader Then
appendout.writeline "Computer,Model,Serial #,Vendor ID,Manufacture Date,Messages"
End If
End If
Dim strarrRawEDID()
intMonitorCount=0
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
'get a handle to the WMI registry object
On Error Resume Next
Set oRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!" & strComputer & "/root/default:StdRegProv")
If Err <> 0 Then
I

Additional Project Description:

08/08/2010 at 5:55 EDT:
See full attached code



Skills required:

Microsoft, Shell Script, Visual Basic

Additional Files:

monitor.vbs

Project posted by:

beckman55 United States
(0 Reviews)

Last seen:

If you are the project creator or one of the bidders, please Log In for more options.


All Bids ()

YashpalSingh123 India
Image0040(1).jpg
YashpalSingh123
India From India     Gold Member     Offline
$200 in 2 days 
$200 Milestone Requested
over 1 year ago
4.5

4.0

2 Reviews
46% Completion Rate
vbscript/php/mysql professional, ready to start
kmcferron United States
kmcferron
United States From United States     Offline
$125 in 3 days 
$125 Milestone Requested
over 1 year ago
5.0

2.2

2 Reviews
100% Completion Rate
Please see PM
winlinuxguru United Kingdom
winlinuxguru
United Kingdom From United Kingdom     Offline
$135 in 2 days 
0
over 1 year ago
0.0

0.0

0 Reviews
0% Completion Rate
Hi there, I am a system programmer with an experience of over 10+ years in application and system programming. I am very keen to deliver you the solution. regards