none
Problema Script creazione utenti RRS feed

  • Domanda

  • Vorrei sapere perché il seguente script mi funziona su 2008-R2 e mi da un errore ripetuto innumerevoli volte su un 2012-R2:

    ==================================

    $objOU=[ADSI]“LDAP://OU=new,DC=adriano,DC=olivetti”
    $dataSource=import-csv “C:\Users\admin\Desktop\creazione_utenti_AD\users.csv”
    foreach($dataRecord in $datasource) {
    $cn=$dataRecord.COGNOME + ” ” + $dataRecord.NOME
    $sAMAccountName=$dataRecord.COGNOME + “ ” + $dataRecord.NOME
    $givenName=$dataRecord.NOME
    $sn=$dataRecord.COGNOME
    $displayName=$sn + “ ” + $givenName
    $userPrincipalName=$sAMAccountName + “@adriano.olivetti
    $Description=$dataRecord.DESCRIZIONE
    $objUser=$objOU.Create(“user”,”CN=”+$cn)
    $objUser.Put(“sAMAccountName”,$sAMAccountName)
    $objUser.Put(“userPrincipalName”,$userPrincipalName)
    $objUser.Put(“displayName”,$displayName)
    $objUser.Put(“givenName”,$givenName)
    $objUser.Put(“sn”,$sn)
    $objUser.Put("Description",$Description)
    $objUser.Put("pwdLastSet", 0)
    $objUser.SetPassword(“olivetti”)
    $objUser.psbase.InvokeSet(“AccountDisabled”,$false)
    $objUser.SetInfo()
    }

    ==================================

    L'errore che ottengo sul 2012-R2 ripetuto per ogni riga dello script è "solo" è il seguente:

    Impossibile chiamare un metodo su un'espressione con valore null.
    In C:\Users\Administrator\Desktop\creazione_utenti_AD\PSusersScript.ps1:20 car:1
    + $objUser.psbase.InvokeSet(“AccountDisabled”,$false)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull

    il contenuto del file users.csv è il seguente:

    =======================

    NOME,COGNOME,DESCRIZIONE
    Mario,Rossi,Biennio_1A
    Antonio,Verdi,Biennio_1B
    Simona,Gialli,Biennio_1C

    =======================

    Potete aiutarmi?

    Grazie!

    Fjodor


    • Modificato PcNoProblem lunedì 28 novembre 2016 13:26
    lunedì 28 novembre 2016 13:26

Tutte le risposte

  • ciao, mi pare di capire che ti da errore quando specifichi che l'utenza deve essere attiva

    io posso dirti che quando creo le utenze da file csv imposto

    Import-Csv "path\file.csv" | ForEach-Object {
    $userPrincinpal = $_."samAccountName" + "@contoso.Local"
    New-ADUser `
    -Name $_."user" `

    .......

    ......

    -Enabled $true

    l'ho usato sia sul 2008 che sul 2012 senza problemi

    lunedì 28 novembre 2016 15:17
  • Sei sicuro che la riga $objOU=[ADSI]“LDAP://OU=new,DC=adriano,DC=olivetti” venga istanziata correttamente?

    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    lunedì 28 novembre 2016 20:05
    Moderatore
  • Mi sono fermato qui:

    $sAMAccountName=$dataRecord.COGNOME + “ ” + $dataRecord.NOME

    No so se sia tua intenzione mettere uno spazio nel samAccountName, io non lo farei

    A parte questo accertati che i campi con spazi siano racchiusi tra virgolette.

    ...per favore non mettere lo spazio nel samAccountName


    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti

    lunedì 28 novembre 2016 20:19
  • Si, è voluto e funziona correttamente in una scuola dal lontano 2005 !!

    lunedì 5 dicembre 2016 14:26
  • Dovrebbe essere corretta....

    La OU deve esistere o la crea lui?

    Ho provato in entrambe i modi ma non crea niente e restituisce più volte l'errore:

    Impossibile chiamare un metodo su un'espressione con valore null.
    In C:\Users\Administrator\Desktop\creazione_utenti_AD\PSusersScript.ps1:20 car:1

    tante volte quanti sono i campi che deve leggere dal CSV.....

    Hai un suggerimento / spiegazione ???

    Grazie

    Fjodor

    lunedì 5 dicembre 2016 14:38
  • non mettevo il dubbio il fatto che funzionasse, é una questione di pulizia dei dati e facilitá di elaborazione degli stessi. Senza spazio non avresti avuto il problema ad esempio. Magari sono io, ma vorrei fare sparire gli spazi e i caratteri non ASCII da tutti i dati di natura tecnica.

    This post is provided AS IS with no warranties or guarantees, and confers no rights.
    ~~~
    Questo post non fornisce garanzie e non conferisce diritti



    • Modificato aperelli lunedì 5 dicembre 2016 14:41
    lunedì 5 dicembre 2016 14:39
  • Ti capisco... anchio cerco di seguire questa regola ma in una scuola con centinalia di docenti e ragazzi avere un login limpido come ROSSI MARIO è un bell'aiuto di chiarezza e semplicità. Tale e quale come appare nel registro cartaceo e/o elettronico... eheheh

    Buon lavoro

    Fjodor

    lunedì 5 dicembre 2016 19:31
  • Puoi riportare un copia incolla della sequenza di errori?

    Hai provato con il debug di ISE a vedere quanto valgon objOU e $objUser al momento dell'errore?


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    venerdì 9 dicembre 2016 12:21
    Moderatore