Monitoring an External Website which has LiveID login
Hi,
About 18 months ago there was a post asking about monitoring a website, Outlook.com
http://social.technet.microsoft.com/Forums/en-US/operationsmanagergeneral/thread/664c9771-e50f-4d0a-8573-6ebfee51922e
At that time, there was a reply from MSFT that it could not be done due to the changing nature of the Live ID login (see post) and the limitations of the WebRecorder in OpsMgr.
Is there a solution yet in Opsmgr for such sites?
Thankyou
John Bradshaw
November 19th, 2011 5:01pm
Hi,
Regarding monitoring website, please refer to the following guides:
How to Create a Web Application Monitor
http://technet.microsoft.com/en-us/library/bb381370.aspx
How to Capture a Web Application Recording in Operations Manager 2007
http://technet.microsoft.com/en-us/library/bb381178.aspx
Recording a web application browser session driving you crazy?
http://blogs.technet.com/b/kevinholman/archive/2008/11/15/recording-a-web-application-browser-session-driving-you-crazy.aspx
Hope this can give you some hints.
Thanks.
Nicholas Li - MSFT
Please remember to click Mark as Answer on the post that helps you, and to click Unmark as Answer if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2011 3:30am
there is an option to automate IE for the task.
open login page type user.pass click login logout
html document object model knowledge is a must.
November 20th, 2011 6:40pm
Thx Pavel.
Doesn't work for LIVEID sites ....MS change the login (see link above in original post)
Unless you have a secret way to record...
Cheers,
John Bradshaw
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2011 6:44pm
i did not say "automate SCOM WebApp" :)))))
IE Automation.
Sample snippet
Set oIE1 = WScript.CreateObject("InternetExplorer.Application","IE_")
WScript.Sleep(1000)
oIE1.visible=1
oIE1.Navigate "about:blank"
from our proprietary solution.
I could help you with basics without sharing whole code.
HTML Document Object Model knowledge is a must. without this will be hard to get forward.
November 20th, 2011 6:51pm
Ahhh, now this is starting to make sense.
I'll run it by our in-house scripting guru and see if he can add to it.
Thx Pavel,
JB
Free Windows Admin Tool Kit Click here and download it now
November 20th, 2011 6:54pm
i did not say "automate SCOM WebApp" :)))))
IE Automation.
Sample snippet
Set oIE1 = WScript.CreateObject("InternetExplorer.Application","IE_")
WScript.Sleep(1000)
oIE1.visible=1
oIE1.Navigate "about:blank"
from our proprietary solution.
I could help you with basics without sharing whole code.
HTML Document Object Model knowledge is a must. without this will be hard to get forward.
November 21st, 2011 2:39am
LiveIDAutomation.vbs
OpenStartPage https://login.live.com/.
Check if elements User, Pass, SignIn are loaded Fill in User, Pass Click 'SignIn' Check if 'LiveId' DOM element is loaded Get LiveID DOM element value and compare it with provided User Report scenario time On each step script tries to report HTTP/Timeout errors and stops script execution.
You see that without DOM understanding it is hard to move forward.
'Author: Pavel Dzemyantsau
'Note: Demonstrates POC of IE Automation for LiveID login.
strURL="https://login.live.com/"
strUser="User@hotmail.com"
strPass="password"
'create automation object
Set oIE = WScript.CreateObject("InternetExplorer.Application","IE_")
Timeout=60 'seconds
oIE.visible=1 : BeginTimer = Timer
oIE.Navigate strURL
i=0 : bElementsLoaded=false
Set DOM_Element_1 = Nothing : Set DOM_Element_2 = Nothing : Set DOM_Element_3 = Nothing
Do While (oIE.ReadyState<>4 Or Not(bElementsLoaded)) And i < Timeout
WScript.Sleep(1000):i=i+1
On Error Resume Next
Set DOM_Element_1 = oIE.Document.getElementById("i0116") 'User
Set DOM_Element_2 = oIE.Document.getElementById("i0118") 'Password
Set DOM_Element_3 = oIE.Document.getElementById("idSIButton9") 'SignIn button
If (Not(DOM_Element_1 is Nothing)) _
And (Not(DOM_Element_2 is Nothing)) _
And (Not(DOM_Element_3 is Nothing)) Then
'all elements we are going to use are loaded
bElementsLoaded=true
End If
On Error Goto 0
Loop
If Not bElementsLoaded Then
WScript.Echo "Timeout"&Timeout&" seconds occured on action TODO:."
WScript.Quit(-1)
End If
'Fill in User/Pass
DOM_Element_1.value=strUser 'TODO: loop to check if user has been set
DOM_Element_2.value=strPass 'TODO: loop to check if pass has been set
DOM_Element_3.Click()
Timeout=120 'seconds
i=0 : bElementsLoaded=false
Set DOM_Element_1 = Nothing
Do While (oIE.ReadyState<>4 Or Not(bElementsLoaded)) And i < Timeout
WScript.Sleep(1000):i=i+1
On Error Resume Next
Set DOM_Element_1 = oIE.Document.getElementById("idWinLiveIdValue") ' LiveId
If (Not(DOM_Element_1 is Nothing)) Then
'element we are going to use is loaded, now is checking its attrubute 'title'
Set DOM_Element_1_attribute_1 = DOM_Element_1.attributes.getNamedItem("title")
If Not (DOM_Element_1_attribute_1 is Nothing) Then
'attribute found
If LCase(DOM_Element_1_attribute_1.value) = LCase(strUser) Then
'attribute title has correct value
bElementsLoaded=true
End If
End If
End If
On Error Goto 0
Loop
EndTimer = Timer
If Not bElementsLoaded Then
WScript.Echo "Timeout"&Timeout&" seconds occured on action TODO:."
WScript.Quit(-1)
End If
Wscript.Echo "Scenario time(sec): "& (EndTimer-BeginTimer)
oIE.Stop : WScript.Sleep(5000) : oIE.Quit
Sub IE_NavigateError(ByVal pDisp,ByVal URL,ByVal TargetFrameName,ByVal StatusCode,ByRef Cancel)
WScript.Echo "StatusCode="&StatusCode
WScript.Quit(-1)
End sub
Free Windows Admin Tool Kit Click here and download it now
November 28th, 2011 12:48am
Nope...we are getting nowhere with this.
Thx,
JB
November 28th, 2011 1:49pm
LiveIDAutomation.vbs
OpenStartPage https://login.live.com/.
Check if elements User, Pass, SignIn are loaded Fill in User, Pass Click 'SignIn' Check if 'LiveId' DOM element is loaded Get LiveID DOM element value and compare it with provided User Report scenario time On each step script tries to report HTTP/Timeout errors and stops script execution.
You see that without DOM understanding it is hard to move forward.
'Author: Pavel Dzemyantsau
'Note: Demonstrates POC of IE Automation for LiveID login.
strURL="https://login.live.com/"
strUser="User@hotmail.com"
strPass="password"
'create automation object
Set oIE = WScript.CreateObject("InternetExplorer.Application","IE_")
Timeout=60 'seconds
oIE.visible=1 : BeginTimer = Timer
oIE.Navigate strURL
i=0 : bElementsLoaded=false
Set DOM_Element_1 = Nothing : Set DOM_Element_2 = Nothing : Set DOM_Element_3 = Nothing
Do While (oIE.ReadyState<>4 Or Not(bElementsLoaded)) And i < Timeout
WScript.Sleep(1000):i=i+1
On Error Resume Next
Set DOM_Element_1 = oIE.Document.getElementById("i0116") 'User
Set DOM_Element_2 = oIE.Document.getElementById("i0118") 'Password
Set DOM_Element_3 = oIE.Document.getElementById("idSIButton9") 'SignIn button
If (Not(DOM_Element_1 is Nothing)) _
And (Not(DOM_Element_2 is Nothing)) _
And (Not(DOM_Element_3 is Nothing)) Then
'all elements we are going to use are loaded
bElementsLoaded=true
End If
On Error Goto 0
Loop
If Not bElementsLoaded Then
WScript.Echo "Timeout"&Timeout&" seconds occured on action TODO:."
WScript.Quit(-1)
End If
'Fill in User/Pass
DOM_Element_1.value=strUser 'TODO: loop to check if user has been set
DOM_Element_2.value=strPass 'TODO: loop to check if pass has been set
DOM_Element_3.Click()
Timeout=120 'seconds
i=0 : bElementsLoaded=false
Set DOM_Element_1 = Nothing
Do While (oIE.ReadyState<>4 Or Not(bElementsLoaded)) And i < Timeout
WScript.Sleep(1000):i=i+1
On Error Resume Next
Set DOM_Element_1 = oIE.Document.getElementById("idWinLiveIdValue") ' LiveId
If (Not(DOM_Element_1 is Nothing)) Then
'element we are going to use is loaded, now is checking its attrubute 'title'
Set DOM_Element_1_attribute_1 = DOM_Element_1.attributes.getNamedItem("title")
If Not (DOM_Element_1_attribute_1 is Nothing) Then
'attribute found
If LCase(DOM_Element_1_attribute_1.value) = LCase(strUser) Then
'attribute title has correct value
bElementsLoaded=true
End If
End If
End If
On Error Goto 0
Loop
EndTimer = Timer
If Not bElementsLoaded Then
WScript.Echo "Timeout"&Timeout&" seconds occured on action TODO:."
WScript.Quit(-1)
End If
Wscript.Echo "Scenario time(sec): "& (EndTimer-BeginTimer)
oIE.Stop : WScript.Sleep(5000) : oIE.Quit
Sub IE_NavigateError(ByVal pDisp,ByVal URL,ByVal TargetFrameName,ByVal StatusCode,ByRef Cancel)
WScript.Echo "StatusCode="&StatusCode
WScript.Quit(-1)
End sub
Free Windows Admin Tool Kit Click here and download it now
November 28th, 2011 4:45pm
Thx very much Pavel.
Very generous of you.
Shall have my colleagues check it out and let u know...
JB
November 28th, 2011 4:52pm