Artigo: 198813 - Última revisão: sexta-feira, 28 de Setembro de 2007 - Revisão: 2.3

Como enumerar sessões de rede com ADSI

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sumário

Interfaces de serviço do Active Directory (ADSI) pode ser utilizado para enumerar sessões de rede através de programação para receber as informações que são apresentadas pelo Microsoft Windows NT Server Manager.

Mais Informação

O seguinte exemplo de código demonstra como enumerar os utilizadores ligados e como definir o computador à partir do qual está ligado.

com o Visual C++ :
// This code assumes that CoInitialize() has been called
IADsFileServiceOperations *pFSOperations; 
IADsSession *pSession;
IADsCollection *pCollection;
IEnumVARIANT *pEnum;
LPUNKNOWN pUnk;
VARIANT var;
IDispatch *pDisp;
BSTR bstrUser;
BSTR bstrComputer;
ULONG lFetch;
HRESULT hr;
	
// Bind to the target server service
ADsGetObject(L"WinNT://DOMAIN/SERVER/lanmanserver", 
	IID_IADsFileServiceOperations, (void**) &pFSOperations );
	
// Retrieve the active sessions
pFSOperations->Sessions(&pCollection);
pFSOperations->Release();
	
// Get an enumerator
pCollection->get__NewEnum( &pUnk );
pCollection->Release();
	
pUnk->QueryInterface( IID_IEnumVARIANT, (void**) &pEnum );
pUnk->Release();
		
// Now Enumerate 
	
(HRESULT) hr = pEnum->Next( 1, &var, &lFetch );
	
while( hr == S_OK )
		
{
		
	if ( lFetch == 1 )
			
	{
			
		pDisp = V_DISPATCH(&var);
			
		pDisp->QueryInterface( IID_IADsSession, (void**)&pSession); 
			pSession->get_Computer(&bstrComputer);
			pSession->get_User(&bstrUser); 
			wprintf(L"User: %s  Computer: %s\n",(WCHAR*)bstrUser,(WCHAR*)bstrComputer);    
			pSession->Release();
			SysFreeString(bstrComputer);
			SysFreeString(bstrUser);
	}
		
	VariantClear(&var);
	hr = pEnum->Next( 1, &var, &lFetch );
		
};
	
pEnum->Release();
				
com Visual Basic :
Dim adsFSOps As IADsFileServiceOperations
Dim adsSession As IADsSession
Dim adsSessions As IADsCollection
' Replace DOMAIN & SERVER with the appropriate domain and server names
Set adsFSOps = GetObject("WinNT://DOMAIN/SERVER/lanmanserver")
' Enumerate sessions
Set adsSessions = adsFSOps.Sessions
For Each adsSession In adsSessions
  Debug.Print "User: " & adsSession.User & "   Computer:  " & adsSession.Computer
Next adsSession
				

Referências

Para obter informações adicionais sobre as interfaces de serviços do Active Directory, consulte o seguinte Web site da Microsoft em:
http://msdn2.microsoft.com/library/aa772170.aspx (http://msdn2.microsoft.com/library/aa772170.aspx)

Para obter informações adicionais sobre a utilização de Printjobs, sessões e recursos com ADSI, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
201033  (http://support.microsoft.com/kb/201033/EN-US/ ) Como Access ADSI PrintJob, sessões e objectos de recursos
Para obter informações adicionais sobre a manipulação de fileshares com ADSI, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
169398  (http://support.microsoft.com/kb/169398/EN-US/ ) Como manipular partilhas de ficheiros com ADSI (exemplo VB)

A informação contida neste artigo aplica-se a:
  • Microsoft Active Directory Service Interfaces 2.0
  • Microsoft Active Directory Service Interfaces 2.5
Palavras-chave: 
kbmt kbdswmanage2003swept kbapi kbhowto KB198813 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 198813  (http://support.microsoft.com/kb/198813/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.