我正在嘗試編寫一個腳本來記錄用戶從中啓動遠程桌面以登錄到Windows Server的Windows客戶端的IP地址。如何捕獲服務器中客戶端的IP地址?如何獲取遠程桌面客戶端的IP地址?
5
A
回答
5
所以,你的使用環境VAR忽略代理...
- :CLIENTNAME域,你可以解決它回IP
沒有域控制器:使用WMI
- 腳本,你可以到事件日誌,來源:安全性,尋找類別登錄/註銷其中用戶名=環境變量USERNAME
1
如果您使用的是PowerShell或.NET語言,Cassia library的中繼版本支持此操作 - 只需從build server(以訪客身份登錄並使用工件鏈接)獲取最新版本即可。要打印在本地服務器上所有會話的遠程地址,你可以使用類似以下內容:
ITerminalServicesManager manager = new TerminalServicesManager();
foreach (ITerminalServicesSession session in manager.GetLocalServer().GetSessions())
{
IPEndPoint ipEndPoint = session.RemoteEndPoint as IPEndPoint;
if (ipEndPoint != null)
{
Console.WriteLine(ipEndPoint.Address);
}
}
1
如果你想用「純」 PowerShell 2.0中:
$Wtsapi32 = @'
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace Wtsapi32 {
public enum WTS_INFO_CLASS
{
WTSInitialProgram,
WTSApplicationName,
WTSWorkingDirectory,
WTSOEMId,
WTSSessionId,
WTSUserName,
WTSWinStationName,
WTSDomainName,
WTSConnectState,
WTSClientBuildNumber,
WTSClientName,
WTSClientDirectory,
WTSClientProductId,
WTSClientHardwareId,
WTSClientAddress,
WTSClientDisplay,
WTSClientProtocolType
};
[StructLayout(LayoutKind.Sequential)]
public struct WTS_CLIENT_ADDRESS
{
public uint AddressFamily;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
public byte[] Address;
}
public class PS {
public const IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero;
public const int WTS_CURRENT_SESSION = -1;
[DllImport("wtsapi32.dll", EntryPoint="WTSQuerySessionInformation")]
public static extern bool WTSQuerySessionInformation(
System.IntPtr hServer,
int sessionId,
WTS_INFO_CLASS wtsInfoClass,
out System.IntPtr ppBuffer,
out uint pBytesReturned);
[DllImport("wtsapi32.dll", EntryPoint="WTSFreeMemory")]
public static extern void WTSFreeMemory(
IntPtr memory);
}
}
'@
Add-Type -TypeDefinition $Wtsapi32
相關問題
- 1. 如何獲取連接到遠程桌面的客戶端的IP地址
- 2. 如何獲取Glassfish中遠程EJB客戶端的IP地址?
- 3. 如何使用Oracle APEX獲取遠程客戶端IP地址?
- 4. 如何獲取客戶端IP地址
- 5. 如何獲取客戶端IP地址
- 6. 如何獲取asp.net核心中的遠程客戶端IP地址?
- 7. 如何獲取身份服務器中客戶端的遠程IP地址4
- 8. Rails 4獲取客戶端的遠程IP地址獲取錯誤「:: 1」
- 9. 如何在servlet中獲取客戶端的遠程地址?
- 10. 如何在JBoss遠程EJB調用中獲取客戶端IP地址?
- 11. 如何獲取客戶端/用戶的IP地址?
- 12. 如何在php中獲取客戶端ip地址和端口?
- 13. 如何在客戶端自動獲取客戶端的IP地址c
- 14. ServerSocket +客戶端套接字 - 如何獲取客戶端的IP地址?
- 15. 始終從Servlet獲取客戶端IP地址:: 1的地址
- 16. 在Jsp頁面中獲取客戶端的IP地址
- 17. 如何獲取我周圍的客戶端的IP地址
- 18. PHP,獲得客戶端的IP地址
- 19. 如何獲取ring-clojure中的客戶端IP地址?
- 20. 如何獲取blazeDS客戶端的ip地址
- 21. 如何獲取Node.js中連接客戶端的IP地址?
- 22. WICKET:如何獲取客戶端的IP /地址
- 23. 如何獲取客戶端的公網IP地址
- 24. 如何獲取Play中客戶端的IP地址!框架2.0?
- 25. 如何在ASP.NET MVC中獲取客戶端的IP地址?
- 26. 如何在CometD中獲取客戶端的代理IP地址?
- 27. 如何在Rails中獲取客戶端的IP地址?
- 28. 如何獲取客戶端的IP地址
- 29. 獲取VB.Net中沒有DNS條目的遠程客戶端的IP地址
- 30. 客戶端的IP地址/ MAC地址
有關多個客戶端什麼來了來自同一臺代理服務器? – Dewfy
讓我們假設沒有代理;-) – BlueGene
出於好奇,你如何執行你的腳本? – chaz