---
title: "ADSI hjälp (ASP->PHP)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/101332-adsi-hjälp-asp-php"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "raki"
published: "2004-04-12T15:33:14.000Z"
updated: "2004-04-20T18:35:08.000Z"
replies: 4
views: 370
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/101332-adsi-hjälp-asp-php"
---

# ADSI hjälp (ASP->PHP)

## #1 — raki, 2004-04-12T15:33Z

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.

```php
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 ?

Permalänk: https://www.webforum.nu/p/101332

## #2 — raki, 2004-04-12T22:24Z

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)

```php
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
```

Permalänk: https://www.webforum.nu/p/1320223

## #3 — OveRRidE, 2004-04-13T20:12Z

Tråden flyttas från ASP, VBScript.

Permalänk: https://www.webforum.nu/p/1320696

## #4 — mify, 2004-04-20T07:13Z

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

Permalänk: https://www.webforum.nu/p/1327123

## #5 — raki, 2004-04-20T18:35Z

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

Permalänk: https://www.webforum.nu/p/1327670

---

Tråden på webben: https://www.webforum.nu/amne/php/101332-adsi-hjälp-asp-php
