Partager via


MÉTHODE IADsServiceOperations ::SetPassword (iads.h)

La méthode IADsServiceOperations ::SetPassword définit le mot de passe du compte utilisé par le gestionnaire de services. Cette méthode est appelée lorsque le contexte de sécurité de ce service est créé.

Syntaxe

HRESULT SetPassword(
  [in] BSTR bstrNewPassword
);

Paramètres

[in] bstrNewPassword

Chaîne Unicode terminée par null à stocker en tant que nouveau mot de passe.

Valeur retournée

Cette méthode prend en charge les valeurs de retour standard, y compris S_OK. Pour plus d’informations sur les autres valeurs de retour, consultez Codes d’erreur ADSI.

Remarques

La propriété IADsService ::get_ServiceAccountName identifie le compte pour lequel ce mot de passe doit être défini.

Exemples

L’exemple de code suivant montre comment définir un mot de passe pour le service de télécopie Microsoft s’exécutant sur 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

L’exemple de code suivant montre comment définir un mot de passe pour le service de télécopie Microsoft s’exécutant sur 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();
    }
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête iads.h
DLL Activeds.dll

Voir aussi

IADsService

IADsService ::get_ServiceAccountName

IADsServiceOperations