webForumDet fria alternativet
Logga in / Bli medlem

ADSI hjälp (ASP->PHP)

PHP

4 svar · 370 visningar · startad av raki

Medlem sedan jan. 2003137 inlägg
Trådstart#1

Tjena!

Håller på att försöka lägga till användare i NT med PHP.
Jag hittade ett en jätte bra funktion som aleborg har skrivit fast jag kan inte ASP något och vill ha det översatt till PHP.
Denna:
http://www.webforum.nu/showthread.php?forumid=89&threadid=49948&highlight=Terminal+Services

Försökte mig på en översättning och det borde då bli något sånt här, fast fungerar gör det ju inte.

function AddUserAccount($ServerName, $UserName, $Password, $SelGroup) {
	$UF_SCRIPT = '&H1';
	$UF_ACCOUNTDISABLE = '&H2';
	$UF_HOMEDIR_REQUIRED = '&H8';
	$UF_LOCKOUT = '&H10';
	$UF_PASSWD_NOTREQD = '&H20';
	$UF_PASSWD_CANT_CHANGE = '&H40';
	$UF_TEMP_DUPLICATE_ACCOUNT = '&H100';
	$UF_NORMAL_ACCOUNT = '&H200';
	$UF_INTERDOMAIN_TRUST_ACCOUNT = '&H800';
	$UF_WORKSTATION_TRUST_ACCOUNT = '&H1000';
	$UF_SERVER_TRUST_ACCOUNT = '&H2000';
	$UF_DONT_EXPIRE_PASSWD = '&H10000';
	$UF_MNS_LOGON_ACCOUNT = '&H20000';

	$ComputerObj = new COM("WinNT://" . $ServerName);
	
	$NewUser = $ComputerObj->Create("User", $UserName);
	$NewUser->SetInfo;
	
	$NewUser->SetPassword($Password);
	$NewUser->FullName = $UserName;
	$NewUser->Description = $UserName;
	$NewUser->SetInfo;
	
	// Problem börjar
	$flags = com_get($NewUser, "UserFlags");
	$NewUser->UserFlags = $flags | $UF_PASSWD_CANT_CHANGE | $UF_DONT_EXPIRE_PASSWD;
	$NewUser->SetInfo;
	
	$GroupObj = new COM("WinNT://" . $ServerName . "/" . $SelGroup);
	$GroupObj->Add("WinNT://" . $ServerName . "/" . $UserName);
}

AddUserAccount("AMD1700", "olle", "losenord", "Users");

Nån som kan hjälpa mig?
Detta kanske inte ens går att göra med PHP ?

Medlem sedan jan. 2003137 inlägg
#2

Har löst det så långt att den sparar användaren och lägger den i rätt grupp men jag har problem med att ändra UserFlags för användaren. (förstår inte asp-koden)

Ni som kan asp kan väl förklara för mig som inte kan asp (kodar php) vad denna koden nedan betyder eller om ni kan översätta den till php.
(Hämta userflags tror jag att jag vet hur jag gör, problemet är att få in dem på rätt sätt)

Const UF_SCRIPT = &H1
Const UF_ACCOUNTDISABLE = &H2
Const UF_HOMEDIR_REQUIRED = &H8
Const UF_LOCKOUT = &H10
Const UF_PASSWD_NOTREQD = &H20
Const UF_PASSWD_CANT_CHANGE = &H40
Const UF_TEMP_DUPLICATE_ACCOUNT = &H100
Const UF_NORMAL_ACCOUNT = &H200
Const UF_INTERDOMAIN_TRUST_ACCOUNT = &H800
Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000
Const UF_SERVER_TRUST_ACCOUNT = &H2000
Const UF_DONT_EXPIRE_PASSWD = &H10000
Const UF_MNS_LOGON_ACCOUNT = &H20000

flags = NewUser.Get("UserFlags")
NewUser.Put "UserFlags", flags Or UF_PASSWD_CANT_CHANGE Or UF_DONT_EXPIRE_PASSWD
NewUser.SetInfo
Medlem sedan feb. 200112 078 inlägg
#3

Tråden flyttas från ASP, VBScript.

Medlem sedan feb. 200344 inlägg
#4

vet inte om detta kan vara till nån hjälp kanske

http://www.developer.com/lang/php/article.php/10941_3100951_2

Lycka till
// Micke

Medlem sedan jan. 2003137 inlägg
#5

har löst det
tack ändå! :)

401 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
130 ms — hämta statistik (db)
138 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)