2012-03-11 34 views
0

我正在處理一個項目,該項目將在已登錄的網絡計算機上彈出,但當我意識到NET SEND未在網絡上啓用時撞上了一個攤位。是否還有其他可行的選擇(假設網絡上有普通用戶權限)?Win XP:如果NET SEND被禁用,是否仍有通過cmd通過網絡發送消息的方法?

+0

嗯,可能不是。如果有其他選擇,我會想象一個人如果禁用'NET SEND',就會激勵他們禁用其他功能。 – 2012-03-11 09:42:29

+1

無論如何,你可能會在[服務器故障](http://serverfault.com/)上詢問這種類型的問題,因爲它比網絡管理更多地涉及編程。 – 2012-03-11 09:42:59

+0

您可以編寫自己的程序或使用其他應用程序,如[WinMessenger](http://www.winmessenger.com/)。 – Appleman1234 2012-03-11 10:12:20

回答

0

自Win XP以來,網絡發送不再存在。 我最近做了一些研究,這是我發現的選擇:

MSG.EXE

用法:MSG /服務器:服務器名 *(=所有會話)/時間:超時消息


如果你得到一個「錯誤5」你需要改變接收器的計算機上此註冊表項:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server] 
"AllowRemoteRPC"=dword:00000001 

(我不知道,如果AllowRemoteRPC也可用於其他的事情,所以在風險自負)

如果仍然得到一個「錯誤5:」你需要到接收器的憑據添加到發件人的身份管理器,在「Windows憑據」


這是一個易於使用的批處理文件,我的使用MSG.exe

@echo off 
:server 
cls 
set /p server=Computer name of receiver: 
:delay 
cls 
set /p time=Message time-out (sec), 0 is none: 
:start 
echo Enter "exit" to stop. "Delay" to change delay. "Receiver" to change receiver. 
set /p message=Enter message: 
if "%message%" == "exit" goto stop 
if "%message%" == "delay" goto delay 
if "%message%" == "receiver" goto server 
cls 
msg /server:%server% * /time:%time% %message% 
echo Message sent: %message% 
goto start 
:stop 
製成

希望這有助於!