Vraag : Het manuscript van Powershell om de rekeningen van de ADVERTENTIE van opnieuw bezochte spreadsheet tot stand te brengen -

O.k. postte ik terug een vraag een tijdje over dit. een slimme kerel hielp me zeer snel uit met een sectie van code.  Ik heb tegenkwam een probleem met dat wij net hebben opgemerkt.  Alle die gebruikersrekeningen met dat worden gecre�ërd zetten de gebruikersbenaming in een formaat zoals: John Smith - JoSmith.  Zo eerst twee brieven van de voornaam, toen familienaam.  Welke is niet hoe wij het. hier doen. het is standaard Eerste aanvankelijk, familienaam… zo: Jsmith.  Hier is de code. Ik hoop iemand op eenvoudige typo aan me kan wijzen.
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:
36:
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:
## bepalen constanten
$domainstr = „, dc=difc, dc=root01, dc=org“
$domainnb = „difc“ ## domeinnetbios naam
$domain = „difc.root01.org“

$ADs_UF_NORMAL_ACCOUNT = laten 512 ## rekening toe en plaatsen vereist wachtwoord

## krijgt gebrek passsword - gecodeerd zo opgeslagen niet in manuscript
# $defaultPassword = gelieve te gaan de belezen-Gastheer „standaardWachtwoord in“ - asSecureString

## krijgt de lijst van gebruikers van het Csv- dossier
## als kan de behoefte andere gebruikerseigenschappen aan CSV toevoegen
## kon verwerking door de lijst van de sortnggebruiker door OU maar behoeftecode verzenden 
## om verandering van OU te behandelen.  Dit is als voorbeeld eenvoudiger

Invoer-csv-voer c:\users\bhart.difc\desktop\importusers.csv in | foreach {

## leidt gebruikers tot naam
# $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 („gebruiker“, „cn=“ + $strusr)
	$newuser.SetInfo ()
	
        $userid = $_.givenName [0] +$_.givenName [1] +$_.SN
	als ($userid.length - GT 20) {$userid = $userid.substring (0.20)}
# echo $userid; uitgang;      	
	$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)
## normale gebruiker die vereist wachtwoord & toegelaten
	$newuser.userAccountControl = $ADs_UF_NORMAL_ACCOUNT
	$newuser.SetInfo ()

# plaats Gebruiker moet wachtwoord bij volgende openings van een sessievlag veranderen
# $newuser.pwdLastSet = 0
# $newuser.SetInfo ()

## plaats nu het land
# $newuser.c = $_.Country
# $newuser.SetInfo ()


	De schrijven-gastheer „cre�ërde Rekening voor: “ $newuser. Displayname

}


Thanks!

Antwoord : Het manuscript van Powershell om de rekeningen van de ADVERTENTIE van opnieuw bezochte spreadsheet tot stand te brengen -


Dan wilt u deze lijn veranderen:

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

Voor dit:

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

HTH

Chris
Andere oplossingen  
 
programming4us programming4us