|
it
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Webpage to see if someone is logged into PC's via RDP
available for RDP so they can use. The page work's fine except for when the goes to the pc to pull the info on if anybody is logged in or not it seems to have trouble. here is the blurb from the temp file that gets created on the webserver. "Error opening Terminal server Computer-01 Error [5]:Access is denied." The webserver Anon account is using a Domain account that has full rights on those boxes. Below is my webpage. <HTML> <HEAD> <TITLE>Blade Availability. Please be Patient!</TITLE> <SCRIPT LANGUAGE="VBScript" runat="server"> Response.Buffer=True Response.Expires=-1 Server.ScriptTimeout= 600 On Error Resume Next ' This script will pull computers from a text file and give you feedback if someone is logged in via local or RDP. Dim fso, f, inputFile, strCompName, strUserName 'Text file has a list of PC's I want this script to run against inputFile = "\\Servername\text\computers.txt" set fso = CreateObject("Scripting.FileSystemObject") set f = fso.OpenTextFile(inputFile) Do While f.AtEndOfLine <> True strCompName = Trim(f.ReadLine) If strCompName <> "" Then strCompName = UCase(strCompName) strUserName = GetUser(strCompName) If IsEmpty(strUserName) Then Response.Write strCompName & " ; Could not connect to computer " & "<br>" Response.Flush() ElseIf strUserName = "" Then Response.Write strCompName & " ; No user is logged on " & "<a href=""rdp.asp?hostname="&wks(r) &""">CLICK here to connect</a><br>" Response.Flush() Else Response.Write strCompName & " ; Logged on user name: " & strUserName & "<a href=""rdp.asp?hostname="&wks(r) &""">CLICK here to connect</a><br>" Response.Flush() End If End If Loop f.close wscript.echo "end of file" Function GetUser(sHost) ' Function will return logged in user name from QWINSTA.EXE ' regardless of it is a console or RDP user ' Windows XP only ' ' Return values: ' If input to function (host name) is empty, returns Empty ' If QWINSTA.EXE cannot connect to host, returns Empty ' If no user is listed by QWINSTA.EXE, returns "" ' If user is listed, returns user name If sHost = "" Then Exit Function '-----> return Empty End if Set oShell = CreateObject("Wscript.Shell") Set oFS = CreateObject("Scripting.FileSystemObject") sTmpFile = oFS.GetSpecialFolder(2).ShortPath & "\" & oFS.GetTempName response.write(sTmpFile) 'Run command and redirect stdout and stderr into temp file oShell.Run "%ComSpec% /c %SystemRoot%\System32\QWINSTA.EXE /SERVER:" _ & sHost & " >" & sTmpFile & " 2>&1", 0, True On Error Resume Next 'Open the temp file Set oTF = oFS.OpenTextFile(sTmpFile) 'Parse the file ' Read first line sLine = oTF.ReadLine If Err.Number <> 0 Then ' Something is wrong. Exit Function '-----> return Empty End If On Error Goto 0 If Left(Trim(sLine), 26) <> "SESSIONNAME USERNAME" Then ' Something is wrong. Most likely is the content of the first line ' this: "Error opening Terminal server <host name>" Exit Function '-----> return Empty End If ' Read second line sLine = oTF.ReadLine 'Close file oTF.Close 'Delete it oFS.DeleteFile sTmpFile sChoppedLine = Mid(sLine, 20) If Left(sChoppedLine, 1) = " " Then ' no user found GetUser = "" Else ' get the user name GetUser = Split(sChoppedLine)(0) End If End Function </SCRIPT> </BODY> <body bgcolor="#EBF2FC"> <p> </p> <p> </p> <p align="center"><font size="5">Remote Desktop Connections</font></p> </HTML> </SCRIPT> </BODY> </HTML> |
|||||||||||||||||||||||