[VBS] VBS equivalent Get-Member in PS

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Ik open veel topic de laatste tijd. It makes me feel bad.

Ik ben na een promotie beginnen scripten in PowerShell en kan er al aardig goed mee overweg. Maar: omdat we de komende drie jaar toch nog W2K en WXP machines in productie gaan hebben ben ik wat gedwongen om alsnog VBS te leren. In afwachting van mijn zonet bestelde boeken op Amazon over VBS en WMI ben ik aangewezen op Google. Helaas kan die mij hier even niet verder helpen: nagenoeg alles gaat over het porten van VBS naar PS.

Om te weten wat de properties en methods zijn van een object in PowerShell bestaat Get-Member. Hoe werkt dit (truncated):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PS C:\> $a = "Dag Tweakers!"
PS C:\> $a | Get-Member


   TypeName: System.String

Name             MemberType            Definition
----             ----------            ----------
Clone            Method                System.Object Clone()
CompareTo        Method                int CompareTo(System.Object
Contains         Method                bool Contains(string value)
CopyTo           Method                System.Void CopyTo(int sour
EndsWith         Method                bool EndsWith(string value)
(... nog een hele hoop)
Trim             Method                string Trim(Params char[] t
TrimEnd          Method                string TrimEnd(Params char[
TrimStart        Method                string TrimStart(Params cha
Chars            ParameterizedProperty char Chars(int index) {get;
Length           Property              System.Int32 Length {get;}


Ik vraag me af of er iets soortgelijks bestaat in VB(S), aangezien ik momenteel met een probleem geconfronteerd word waar zoiets bij zou helpen.

Voor wie liever een concreet voorbeeld heeft:

Visual Basic .NET:
1
2
3
wmiQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & objComputer & "'"
' (...)
Set objStatus = GetObject("winmgmts://./root/cimv2").ExecQuery(wmiQuery)


Ik wil nu weten welke properties mijn objStatus heeft. Sorry voor het gebrek aan RTFM: de M is nog onderweg en ik wil al wat experimenteren op voorhand.

Terzijde: is er een manier om on-the-fly met VBS te werken zoals je in de PowerShell...euh shell kan?

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

De M staat ook online hoor.
http://technet.microsoft.com/en-us/library/ee221103.aspx

En als je die doorneemt dan kom je er vanzelf achter dat er geen echt equivalent is, maar dat je de properties van je object kunt opzoeken aan de hand van het type object wat je gebruikt.
Zeker met iets als WMICodeCreator .

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
alt-92 schreef op donderdag 12 augustus 2010 @ 07:07:
De M staat ook online hoor.
http://technet.microsoft.com/en-us/library/ee221103.aspx

En als je die doorneemt dan kom je er vanzelf achter dat er geen echt equivalent is, maar dat je de properties van je object kunt opzoeken aan de hand van het type object wat je gebruikt.
Zeker met iets als WMICodeCreator .
O God, wat is PS zoveel eenvoudiger dan VBS. Een eenvoudige Get-ChildItem heeft al enkele lijnen code nodig in VBS |:(

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

:) PShell is inderdaad (zeker in v2) beter.
Zie je wel dat ze ook iets goeds in elkaar kunnen zetten?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device