The NET command is used to manage open files and user sessions as follows:
Display all the open shared files on a server and the lock-id
Close a shared file (disconnect other users and remove file locks)
NET FILE id /CLOSE
List all sessions connected to this machine:
NET SESSION | Find "\\"
List sessions from a given machine
NET SESSION \\ComputerName
Disconnect all sessions connected to this machine
NET SESSION /DELETE
Disconnect all sessions connected to this machine (without any prompts)
NET SESSION /DELETE /y
Disconnect sessions from a given machine
NET SESSION \\ComputerName /DELETE
NET SESSION displays incoming connections only, in other words it must be run on the machine that is acting as the server.
To create file shares the SERVER service must be running, which in turn requires 'File and Print Sharing' to be installed.
Administrator privileges are required to run the NET SESSION command. We can use this fact to detect if the current user is an Admin as follows (source):
:isadmin Echo Administrative permissions required. Detecting ... Net Session >nul 2>&1 If %errorLevel% == 0 ( Set _isadmin=YES Echo Success: Administrative permissions confirmed. ) else ( Set _isadmin=NO Echo Failure: found only non-elevated permissions. ) pause >nul
“Never mistake activity for achievement” - John Wooden
NET - Manage network resources
NET USE - connect to a file share
OPENFILES - List or disconnect open files, local or remote (Win XP)
PsFile - Show files opened remotely
PsLoggedOn - Who's logged on.
SS64 Forum thread on UAC detection.
Q149427 - Change Password from the CMD prompt
Q321711 - DrMapSrv DriveShare utility for Win 2K Terminal Services
Powershell: Get-WmiObject win32_share
Equivalent bash command (Linux): who currently logged in