batch file to check my login status MSSQL machines

Intend to come up with a batch script that will verify which servers I am currently logged into.
Seen all the powershell scripts but would like help getting this to work.

Script name is login.bat  username to verify

sqlcmd -L>servers.log


for  /f  %%? in  (servers.log))  do
 ('qwinsta /server:%i | find %1 ')
  SET EXITRC=%ERRORLEVEL%GOTO
  if EXITRC==0
 ( 'echo %pathName% is logged into %? ') >output.log

Thanks in advance
MNT
mngong_rcAsked:
Who is Participating?
 
oBdACommented:
Try this (currently queries servers with more than one SQL instance multiple times; this could be changed if it is an issue for you):
@echo off
setlocal
set LogFile=output.log
if "%~1"=="" (
	echo Syntax:
	echo %~nx0 ^<User name^>
	pause & goto :eof
)
set User=%~1
if exist "%LogFile%" del "%LogFile%"
for /f "skip=2 tokens=1 delims=\ " %%a in ('sqlcmd.exe -L') do (
	if /i not "%%a"=="(local)" (
		qwinsta.exe /server:%%a | findstr.exe /i "\<%User%\>" >NUL
		if errorlevel 1 (
			echo %%a: %User% not logged on.
		) else (
			echo %%a: %User% logged on.
			>>"%LogFile%" echo %%a;%User%
		)
	)
)

Open in new window

0
 
mngong_rcAuthor Commented:
Thank you, that came as close as it ever got.
This scans all the hundreds of servers in the domain and returns a value for each server.
************
What do I need to do to  show only servers with a  LOGIN. Not interested in servers
without a login and those the user is not allowed to login to.
*************

Thanks again
MNT
0
 
oBdACommented:
The log file should only show machines where the user is logged on; only the console output shows both.
If you want to suppress it from the console output as well, just put a REM in front of line 15.
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
mngong_rcAuthor Commented:
I've requested that this question be closed as follows:

Accepted answer: 0 points for mngong_rc's comment #a39627333

for the following reason:

Gave me what I wanted.
0
 
oBdACommented:
You should accept the answer that helped you, not your own comment.
0
 
mngong_rcAuthor Commented:
Not a problem
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.