Compartilhar via


Método IADsServiceOperations::SetPassword (iads.h)

O método IADsServiceOperations::SetPassword define a senha da conta usada pelo gerenciador de serviços. Esse método é chamado quando o contexto de segurança para esse serviço é criado.

Sintaxe

HRESULT SetPassword(
  [in] BSTR bstrNewPassword
);

Parâmetros

[in] bstrNewPassword

A cadeia de caracteres Unicode terminada em nulo a ser armazenada como a nova senha.

Retornar valor

Esse método dá suporte aos valores de retorno padrão, incluindo S_OK. Para obter mais informações sobre outros valores retornados, consulte Códigos de erro ADSI.

Comentários

A propriedade IADsService::get_ServiceAccountName identifica a conta para a qual essa senha deve ser definida.

Exemplos

O exemplo de código a seguir mostra como definir uma senha para o Serviço de Fax da Microsoft em execução no Windows 2000.

Dim cp As IADsComputer
Dim so As IADsServiceOperations
Dim s As IADsService
Dim sPass As String

On Error GoTo Cleanup

Set cp = GetObject("WinNT://myMachine,computer")
Set so = cp.GetObject("Service", "Fax")
' Insert code to securely retrieve a new password from the user.
so.SetPassword sPass
 
Set s = so
MsgBox "The password for " & so.name & " has been changed on "_
        & s.ServiceAccountName

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set cp = Nothing
    Set so = Nothing
    Set s = Nothing

O exemplo de código a seguir mostra como definir uma senha para o Serviço de Fax da Microsoft em execução no Windows 2000.

HRESULT SetServicePassword(LPCWSTR pwszADsPath, LPCWSTR, pwszPasword)
{
    IADsContainer *pCont = NULL;
    IADsServiceOperations *pSrvOp = NULL;
    IDispatch *pDisp = NULL;
    HRESULT hr = S_OK;

    hr = ADsGetObject(pwszADsPath, IID_IADsContainer, (void**)&pCont);
    if(FAILED(hr)) 
    {
        goto Cleanup;
    }

    hr = pCont->GetObject(CComBSTR("Service"), CComBSTR("Fax"), &pDisp);
    if(FAILED(hr)) 
    {
        goto Cleanup;
    }

    hr = pDisp->QueryInterface(IID_IADsServiceOperations, (void**)&pSrvOp);
    if(FAILED(hr)) 
    {
        goto Cleanup;
    }

    // Insert code to securely retrieve the password from the user.
    hr = pSrvOp->SetPassword(CComBSTR(pwszPassword));

Cleanup:
    if(pDisp) 
    {
        pDisp->Release();
    }
    if(pCont) 
    {
        pCont->Release();
    }
    if(pSrvOp) 
    {
        pSrvOp->Release();
    }
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll

Confira também

IADsService

IADsService::get_ServiceAccountName

IADsServiceOperations