Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Powershelliga kasutaja parooli muutmine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
warwas
HV Guru
warwas

liitunud: 06.07.2003



Autoriseeritud ID-kaardiga

sõnum 20.02.2013 13:40:21 Powershelliga kasutaja parooli muutmine vasta tsitaadiga

Maadlen siin juba pikemat aega probleemiga, kus powershelli abiga kasutaja domeeniparooli muutmine ei taha kuidagi õnnestuda.
Ma ei taha muuta suvalise kasutaja parooli vaid skripti jooksutava kasutaja ENDA oma. Miskipärast saan aga vastu näppe:
Exception calling "SetPassword" with "1" argument(s): "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"
At C:\Users\test.kasutaja\Desktop\test.ps1:21 char:20
+         $user.SetPassword <<<< ($password)
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : CatchFromBaseAdapterMethodInvokeTI

Kood ise on selline:
c#:
  1. function Set-UserPassword
  2. {
  3.         Param
  4.         (
  5.                 [string]$Username = $(Throw "You must specify a user's sAMAccountName"),
  6.                 [string]$Password = $(Throw "You must specify a user's password")
  7.         )
  8.                   
  9.         $Searcher = New-Object DirectoryServices.DirectorySearcher
  10.         $Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=$username))"
  11.         $Searcher.filter = $Filter
  12.  
  13.         $result = $Searcher.findOne()
  14.         [ADSI]$user = $result.path
  15.  
  16.         $user.SetPassword($password)
  17.  
  18.         return $?
  19. }

'Run as Administrator' ei muuda asja. Samuti ei aita kasutaja lokaalseks adminniks tegemine. Samas kui kasutaja õigused kole kõrgeks keerata (Domain Admins grupp), siis kõik toimib. 'Account Operators' grupp ka ei aita.

Kasutajal on parooli muutmine lubatud (nii 'Account Options' kui ka 'Security') ja Windowsi enda vahenditega see ka toimib. Miks ma siis PS'iga lähenedes vastu näppe saan?

EDIT: Taustainfoks - Klientmasinateks on Win7 SP1 (koos PS 2.0 või 3.0'ga).
Paistab, et asi on otse LDAP'i kallal käimisega (või tahab see veel mingit eraldi autentimist?), sest Set-ADAccountPassword cmdlet'iga saan ka ilma kõrgemate õigusteta parooli vahetatud. Kuna aga klientmasinates mul RSAT'i installitud ei ole, siis on mul ikkagi mingit 'ümber nurga' lahendust vaja.

EDIT 2: Ise küsin - ise vastan.
Tänu Eneta foormist saadud vihjele selgus, et oleks pidanud kasutama hoopis ChangePassword meetodit (tahab kahte parameetrit - vana ja uut parooli).
Kommentaarid: 247 loe/lisa Kasutajad arvavad:  :: 0 :: 3 :: 224
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Powershelliga kasutaja parooli muutmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.