ID do artigo: 198813 - Última revisão: sexta-feira, 28 de setembro de 2007 - Revisão: 2.3

Como enumerar sessões de rede com a 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 | Recolher tudo

Sumário

Active Directory Service Interfaces (ADSI) pode ser usada para enumerar sessões de rede por meio de programação para receber as informações que são exibidas pelo Microsoft Windows NT Server Manager.

Mais Informações

O exemplo de código a seguir demonstra como enumerar os usuários conectados e como definir o computador do qual está se conectando.

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 interfaces de serviços do Active Directory, consulte o seguinte site no:
http://msdn2.microsoft.com/library/aa772170.aspx (http://msdn2.microsoft.com/library/aa772170.aspx)

Para obter informações adicionais sobre o uso de Printjobs, sessões e recursos com ADSI, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
201033  (http://support.microsoft.com/kb/201033/EN-US/ ) Como Access ADSI PrintJob, sessão e objetos de recursos
Para obter informações adicionais sobre a manipulação de fileshares com ADSI, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
169398  (http://support.microsoft.com/kb/169398/EN-US/ ) Como manipular compartilhamentos de arquivos com a 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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 ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.