Kapalı

Convert VB script to Powerhsell

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:

'[url removed, login to view]

'this code is based on the EEDID spec found at [url removed, login to view]

'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 = [url removed, login to view]("[url removed, login to view]")

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 [url removed, login to view] = 1 Then

strComputer = [url removed, login to view](0)

batch = True

Else

strComputer = [url removed, login to view]("%COMPUTERNAME%")

strComputer = InputBox("Check Monitor info for what PC","PC Name?",strComputer)

End If

If strcomputer = "" Then [url removed, login to view]

strComputer = UCase(strComputer)

If batch Then

Dim fso,logfile, appendout

logfile = [url removed, login to view]("%userprofile%") & "\desktop\[url removed, login to view]"

'setup Log

Const ForAppend = 8

Set fso = CreateObject("[url removed, login to view]")

If Not [url removed, login to view](logfile) Then bHeader = True

set appendout = [url removed, login to view](logfile, ForAppend, True)

If bHeader Then

[url removed, login to view] "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

Beceriler: Microsoft, Kabuk Betiği, Visual Basic

Daha fazlasını görün: powerhsell, include resume, resume include, vb work, system err, script resume, root info, requirement spec, monitor default, find resume, example script video resume, windows shell scripting, old messages, example shell script, e vb, basic shell script, find manufacture, wmi, shell script, resume video, key value model, irc, find root, data convert, convert vb

İşveren Hakkında:
( 7 değerlendirme ) Coal City, United States

Proje NO: #761155

3 freelancer bu iş için ortalamada 153$ teklif veriyor

YashpalSingh123

vbscript/php/mysql professional, ready to start

in 2 gün içinde200$ USD
(2 Değerlendirme)
4.0
kmcferron

Please see PM

in 3 gün içinde125$ USD
(2 Değerlendirme)
2.2
winlinuxguru

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

in 2 gün içinde135$ USD
(0 Değerlendirme)
0.0