IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Script creation repertoire perso if exist


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 58
    Par défaut Script creation repertoire perso if exist
    Salut,

    Je souhaite ecrire un script d'ouverture de session en .bat pour les utilisateurs de mon domaine.

    Dans ce script, il y aura le mappage des lecteurs réseaux et la creation d'un repertoire perso sur le serveur..
    Dans ces lecteurs réseaux, un correspond au repertoire perso du user sur le serveur.

    J'ai les lignes pour la connexion des lecteurs reseaux (net use......).

    Pour la creation du repertoire, je sais qu'il faut mettre un truc du genre :
    mkdir \\IP du srv\partage\%user% (je crois)

    Mon problème est au niveau de la condition "existe ou pas",
    si le repertoire existe, on passe. si le repertoire n'exite pas, le créer.

    C'est pour du windows, et dans un .bat

  2. #2
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Petit exemple ensuite à toi d'adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    if exist "C:\MonRepA" (
    echo "MonRepA Existe"
    pause
    exit
    ) else (
    mkdir "C:\MonRepA"
    echo "C:\MonRepA vient d'être créé" 
    exit
    )
    Par contre tu ne gère pas les droits utilisateurs sur son propre partage et ça c'est pas vraiment propre pour la confidentialité Utilisateur.

    Si tu es sur W2008, le mieux est de regarder côté PowerShell puis de créer tes dossiers utilisateurs directement sur le serveur, en masse dans un premier temps et au coup par coup ensuite pour chaque nouvel arrivant.

    Pour exemple voilà un de mes script sur le sujet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #import-module servermanager
    #Add-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeature
    
    #Chargement du module ActiveDirectory (voir ci-dessus pour l'installer)
    import-module activedirectory
    
    
    # Importation du fichier .CSV
    Write-Host "Importation du fichier CSV"
    $utilisateurs = Import-Csv -path “C:\Users\a-admhisi\Documents\PowerShellScript\users.csv” -delimiter “;”
    
    $i=0;
    
    
    # Création de l’utilisateur
    Write-Host "Création de l’utilisateur"
    foreach($utilisateurs in $utilisateurs)
    {
    
    	$name = $utilisateurs.name
    	$OldOwner = "BUILTIN\Administrateurs"
    	$NewOwner = New-Object System.Security.Principal.NTAccount("domain.lan", $name)
    
    	$path = 'C:\Partages Réseau\Utilisateurs'
    	If (-not (Test-Path "$path\$name")) { 
    	
    		New-Item -ItemType directory -Name $name -Path $path
    		Write-Host "Création de $path\$name"
    			
    		$acl = Get-Acl "$path\$name"
    		$acl.SetAccessRuleProtection($True, $False)
    		$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("CREATEUR PROPRIETAIRE", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    		$acl.AddAccessRule($rule)
    		Write-Host "Droit  'CREATEUR PROPRIETAIRE' affecté "
    		$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrateurs", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    		$acl.AddAccessRule($rule)
    		Write-Host "Droit  'BUILTIN\Administrateurs' affecté "
    		$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("AUTORITE NT\Système", "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
    		$acl.AddAccessRule($rule)
    		Write-Host "Droit  'AUTORITE NT\Système' affecté "
    		$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($NewOwner, "Modify", "ContainerInherit, ObjectInherit", "None", "Allow")
    		$acl.AddAccessRule($rule)
    		Write-Host "Droit  'domain.lan\$name' affecté "
    		
    		Set-Acl "$path\$name" $acl
    		Write-Host "Droits affectés "
    
    		$i++;
    	}else{
    	Write-Host "$path\$name déjà existant"
    	}
    }
    
    Write-Host "$i dossier(s) utilisateur(s) créé(s)"
    Cela fonctionne avec un fichier CSV comme source.
    conçu comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    name
    pnom
    Ududomain
    nomPrenom
    User1
    ....
    l'entête name est obligatoire mais le reste est à adapter en fonction de ton parc.

Discussions similaires

  1. Script Creation repertoire Personnel
    Par jbertin9 dans le forum VBScript
    Réponses: 0
    Dernier message: 04/05/2011, 12h58
  2. PB script creation user : l'objet existe déja
    Par loloxine dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 12/08/2009, 14h36
  3. Creation menu perso de manière manuelle
    Par pitistef dans le forum MFC
    Réponses: 1
    Dernier message: 03/09/2005, 19h37
  4. Script creation BD -> MCD
    Par SunMicrosystem dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 24/01/2005, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo