Robbo101 Posted February 19, 2009 Posted February 19, 2009 I want to write a script that does different fuctions dependant on what Mainboard is installed. (install drivers ect.) I have a script that extracts the WMI Data from the system but I cannot match against it. I knwo this will be somthing simple but I am new to this and self taught. dim $bin = _BaseBoard_Properties() $board = $bin InputBox("Base board", "Your Baseboard is: " , $board) ;Exit (0) if $bin="D945GCZ" Then call("test") Else MsgBox(64,'cannot find board',"Doh") EndIf Func _BaseBoard_Properties() Local $a_Text = '' Dim $Obj_WMIService = ObjGet('winmgmts:\\' & @ComputerName & '\root\cimv2'); If (IsObj($Obj_WMIService)) And (Not @error) Then Dim $Col_Items = $Obj_WMIService.ExecQuery('Select * from Win32_BaseBoard') Local $Obj_Item For $Obj_Item In $Col_Items $a_Text = $Obj_Item.Product & @CRLF Next Return String($a_Text) Else Return 0 EndIf EndFunc func test() MsgBox(64, 'Info', "Found Mainboard") EndFunc I cannot check again't the Mainboard the way I have done it as it has 2 returns at the end. how do I remove these or add them to check against? I have attached a copy of what my system returns. Can anyone point me in the right direction. I ahve tried stringright command but this does not seem to change it. Cheers for any help Robbo
exodius Posted February 19, 2009 Posted February 19, 2009 (edited) I want to write a script that does different fuctions dependant on what Mainboard is installed. (install drivers ect.) I have a script that extracts the WMI Data from the system but I cannot match against it. I knwo this will be somthing simple but I am new to this and self taught. dim $bin = _BaseBoard_Properties() $board = $bin InputBox("Base board", "Your Baseboard is: " , $board) ;Exit (0) if $bin="D945GCZ" Then call("test") Else MsgBox(64,'cannot find board',"Doh") EndIf Func _BaseBoard_Properties() Local $a_Text = '' Dim $Obj_WMIService = ObjGet('winmgmts:\\' & @ComputerName & '\root\cimv2'); If (IsObj($Obj_WMIService)) And (Not @error) Then Dim $Col_Items = $Obj_WMIService.ExecQuery('Select * from Win32_BaseBoard') Local $Obj_Item For $Obj_Item In $Col_Items $a_Text = $Obj_Item.Product & @CRLF Next Return String($a_Text) Else Return 0 EndIf EndFunc func test() MsgBox(64, 'Info', "Found Mainboard") EndFunc I cannot check again't the Mainboard the way I have done it as it has 2 returns at the end. how do I remove these or add them to check against? I have attached a copy of what my system returns. Can anyone point me in the right direction. I ahve tried stringright command but this does not seem to change it. Cheers for any help Robbo Try this, you're ending up with a carriage return and a linefeed at the end because you were putting them there in your For...Next loop. A lot of times with the COM objects, even though you use a For...Next loop to read them, there's only one object anyways... *Edit - BTW, nice first post with the example and everything, welcome to the forums! Dim $bin = _BaseBoard_Properties() $board = $bin InputBox("Base board", "Your Baseboard is: ", $board) ;Exit (0) If $bin = "D945GCZ" Then Call("test") Else MsgBox(64, 'cannot find board', "Doh") EndIf Func _BaseBoard_Properties() Local $a_Text = '' Dim $Obj_WMIService = ObjGet('winmgmts:\\' & @ComputerName & '\root\cimv2'); If (IsObj($Obj_WMIService)) And (Not @error) Then Dim $Col_Items = $Obj_WMIService.ExecQuery('Select * from Win32_BaseBoard') Local $Obj_Item For $Obj_Item In $Col_Items $a_Text = $Obj_Item.Product Next Return String($a_Text) Else Return 0 EndIf EndFunc ;==>_BaseBoard_Properties Func test() MsgBox(64, 'Info', "Found Mainboard") EndFunc ;==>test Edited February 19, 2009 by exodius
Robbo101 Posted February 19, 2009 Author Posted February 19, 2009 Try this, you're ending up with a carriage return and a linefeed at the end because you were putting them there in your For...Next loop.Cheers Exodius. I knew it would be somthing stupid. It was a script that I found from somewhere else I tried to use to attchive what I wanted.I never noticed I had the @CRLF in there.Oh and thanks for the compliment on posting. I have used the forum for a while just for looking up stuff. It was my first post though.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now