Поделиться через


Метод IADsServiceOperations::SetPassword (iads.h)

Метод IADsServiceOperations::SetPassword задает пароль для учетной записи, используемой диспетчером служб. Этот метод вызывается при создании контекста безопасности для этой службы.

Синтаксис

HRESULT SetPassword(
  [in] BSTR bstrNewPassword
);

Параметры

[in] bstrNewPassword

Строка Юникода, завершающаяся нулевым значением, которая будет сохранена в качестве нового пароля.

Возвращаемое значение

Этот метод поддерживает стандартные возвращаемые значения, включая S_OK. Дополнительные сведения о других возвращаемых значениях см. в разделе Коды ошибок ADSI.

Комментарии

Свойство IADsService::get_ServiceAccountName определяет учетную запись, для которой должен быть задан этот пароль.

Примеры

В следующем примере кода показано, как задать пароль для службы факсов Майкрософт, работающей в 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

В следующем примере кода показано, как задать пароль для службы факсов Майкрософт, работающей в 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();
    }
}

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header iads.h
DLL Activeds.dll

См. также раздел

IADsService

IADsService::get_ServiceAccountName

IADsServiceOperations