Frage : Powershell Index, zum von ANZEIGEN-Konten vom Verteilungsbogen zu verursachen - nochmals besucht

O.K.I gab eine Frage eine Weilerückseite auf diesem. bekannt. ein intelligenter Kerl half mir heraus sehr schnell bei einem Abschnitt des Codes.  Ich habe lief in ein Problem mit dem, den wir gerade beachtet haben.  Alle Benutzerkonten, die mit dem verursacht wurden, setzten das username in ein Format wie ein: John Smith - JoSmith.  So erste zwei Buchstaben des ersten Vornamens, dann Nachname.  Welches ist, nicht wie wir es hier. tun. es ist die Initiale des Standards zuerst, Nachname… so: Jsmith.  Ist hier der Code. Ich hoffe, dass jemand einen einfachen Typo zu mir unterstreichen kann.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
## definieren Konstanten
$domainstr = „, dc=difc, dc=root01, dc=org“
$domainnb = „difc“ ## Gebiet Netbios-Name
$domain = „difc.root01.org“

$ADs_UF_NORMAL_ACCOUNT = ## 512 ermöglicht Konto und stellt Kennwort erfordert ein

## erhalten das Rückstellung passsword -, das so gespeichert nicht im Index verschlüsselt wird
# tragen $defaultPassword = Lesen-Wirt „bitte Rückstellung Kennwort“ - asSecureString ein

## erhalten die Liste der Benutzer von der CSV Akte
##, wenn Notwendigkeit, die andere Benutzereigenschaften CSV hinzufügen können
## konnte die Verarbeitung durch sortng Benutzerliste durch OU beschleunigen aber Code benötigen 
##, zum der Änderung von OU zu behandeln.  Dieses ist als Beispiel einfacher

c:\users\bhart.difc\desktop\importusers.csv Importieren-csv | foreach {

## verursachen Benutzernamen
# $strusr = $_.Last + „„+ $_.First
    $strusr = $_.SN + „„+ $_.givenName
# $last = $_.SN 
# $first = $_.givenName
    
 # $strusr = $_.last + „„+ $_.first
	$strusr	
 	$ldapstr = „LDAP: //OU=“ + $_.OU + $domainstr

	$target = [ADSI] $ldapstr
	$newuser = $target.create („Benutzer“, „cn=“ + $strusr)
	$newuser.SetInfo ()
	
        $userid = $_.givenName [0] +$_.givenName [1] +$_.SN
	wenn ($userid.length - GT 20) {$userid = $userid.substring (0.20)}
# Echo $userid; Ausgang;      	
	$newuser.samaccountname = $userid.ToString ()
	$newuser.givenName = $_.givenName
	$newuser.sn = $_.SN
	$newuser.displayName = $_.displayName
	$newuser.userPrincipalName = $_.givenName [0] +$_.givenName [1] +$_.SN + „@“ + $domain
    $newuser.company =$_.company
    $newuser.mail = $_.mail
    $newuser.division = $_.division
    $newuser.employeeType = $_.empType
    $newuser.employeeID = $_.empID
    $newuser.telephoneNumber = $_.telephoneNumber
    $newuser.description = $_.description
	$newuser.SetInfo ()

# $newuser.SetPassword ($defaultPassword.ToString ())
    $newuser.SetPassword ($_.password)
## normaler Benutzer, der Kennwort fordert u. ermöglicht wird
	$newuser.userAccountControl = $ADs_UF_NORMAL_ACCOUNT
	$newuser.SetInfo ()

# Benutzer einstellen muss Kennwort an der folgenden LOGON-Markierungsfahne ändern
# $newuser.pwdLastSet = 0
# $newuser.SetInfo ()

## stellte jetzt das Land ein
# $newuser.c = $_.Country
# $newuser.SetInfo ()


	Der verursachte Schreiben-Wirt „erklären: “ $newuser. Displayname

}


Thanks!

Antwort : Powershell Index, zum von ANZEIGEN-Konten vom Verteilungsbogen zu verursachen - nochmals besucht


Dann möchten Sie diese Linie ändern:

        $userid = $_.givenName [0] +$_.givenName [1] +$_.SN

Für dieses:

        $userid = „$ ($_.givenName [0]) $ ($_.SN)“

HTH

Chris
Weitere Lösungen  
 
programming4us programming4us