Script de démarrage

Signaler
Messages postés
3
Date d'inscription
samedi 9 décembre 2000
Statut
Membre
Dernière intervention
26 avril 2008
-
Messages postés
3
Date d'inscription
samedi 9 décembre 2000
Statut
Membre
Dernière intervention
26 avril 2008
-
Bonjour,

Voilà je dois réaliser un script de démarrage qui permet de :
- récupérer le nom de l'utilisateur
- récupérer l'heure du système
- mapper les disques réseaux en fonction du groupe utilisateur dans lequel l'utilisateur se trouve
- lui souhaiter une bonne journée, une bonne nuit etc en fonction de l'heure du système
- aller chercher une phrase dans un fichier texte et l'afficher (aléatoirement)

Je travaille en bloc note car je suis sur VMWare et que pour des raisons obscures, ma machine virtuelle est coupée du monde extérieur  (déjà tenté de résoudre le proc avec mon prof mais... sans succès) donc il est difficile d'installer tout autre programme !

Voici à quoi en est mon code... qui ne marche pas (il lance la fenêtre dos mais elle se referme aussitôt malgré le "pause")...

@echo off

cls
Echo.

rem ***********************************************************************************
rem Moncilli Jelena, INF 2a, janvier - fevrier 2008, labo script de demarrage SYSEX
rem ***********************************************************************************

rem ***********************************************************************************
rem supression des lecteurs à l'ouverture du script
rem ***********************************************************************************

Echo Supression des lecteurs...
rem net use z: /d
rem net use u: /d
rem net use w: /d
echo.


rem ***********************************************************************************
rem Affichage du username
rem ***********************************************************************************

echo Username: %username%
echo.

rem ***********************************************************************************
rem Option Explicit RECHERCHE APPARTENANCE GROUPE !
rem ***********************************************************************************

Dim groupe, util, res, chemin, dico, strmap, fso
set res = CreateObject("Wscript.network")
Set fso = CreateObject("Scripting.FileSystemObject")
Function IsMember(sGroup)
Dim sAdsPath,oUser,oGroup,g_oGroupDict,g_oNet

rem ***********************************************************************************
rem Peupler dictionnaire si pas encore créé
rem ***********************************************************************************

If IsEmpty(g_oGroupDict) Then
Set g_oGroupDict=CreateObject("Scripting.Dictionary")
g_oGroupDict.CompareMode = vbTextCompare
sAdsPath = res.UserDomain &"/"& res.UserName
Set oUser = GetObject("WinNT://"& sAdsPath & ",user")
For Each oGroup In oUser.Groups
g_oGroupDict.Add oGroup.Name, "-"
Next
Set oUser = Nothing
End If
IsMember = CBool(g_oGroupDict.Exists(sGroup))
End Function

rem ***********************************************************************************
rem Tests de l'appartenance à un groupe
rem ***********************************************************************************

If IsMember("GG_Production") then
echo Membre du Groupe Production
Goto Suite1
End if

If IsMember("GG_Recherche") then
echo Membre du Groupe Recherche
Goto Suite2
End if

If IsMember("GG_Gestion") then
echo Membre du Groupe Gestion
Goto Suite3
End if


rem ***********************************************************************************
rem Lecteur à crée selon le username déterminé en-dessus
rem A ajouter selon le nombre de user
rem ***********************************************************************************

:Suite1
Echo Connexion des lecteurs pour %username%...
net use z: \\serveur\commun
net use u: \\serveur\personnel
net use w: \\serveur\departement
Echo.


:Suite2
Echo Connexion des lecteurs pour %username%...
net use z: \\serveur\commun
net use u: \\serveur\personnel
net use w: \\serveur\departement
Echo.

:Suite3
Echo Connexion des lecteurs pour %username%...
net use z: \\serveur\commun
net use u: \\serveur\personnel
net use w: \\serveur\departement
Echo.


rem ***********************************************************************************
rem Détermine l'heure d'ouverture de session
rem ***********************************************************************************

echo ouverture de session, il est %time%
set hr=%time:~0,2%

rem ***********************************************************************************
rem Texte à afficher selon l'heure
rem ***********************************************************************************

set text1=Bonjour %username%, bonne matinee
set text2=Bonjour %username%, bon apres-midi
set text3=Bonjour %username%, bonne soiree
set text4=Bonjour %username%, bonne nuit

rem ***********************************************************************************
rem Afficher le texte selon l'heure
rem ***********************************************************************************

if "%hr%" > "4" && < "13" echo %text1%
if "%hr%" > "12" && < "19" echo %text2%
if "%hr%" > "18" && < "23" echo %text3%
if "%hr%" > "22" && < "5" echo %text4%


echo.
Echo Fin du script
pause


Voilà ce script ne va pas encore chercher la phrase (je ne sais pas comment m'y prendre) et y a bcp de choses foireuses...

Si qqun pouvais m'aider à debugger et à avancer de quelque manière que ce soit, ça serait le top !!!

D'avance je vous remercie beaucoup pour le temps que vous passerez à me lire...

Bonne journée à tous

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
plutot que de lancer ton script en double cliquant sur le fichier, ouvre une fenetre de la console, et lance ton script depuis cette fenetre.
Elle ne se fermera pas à la fin de l'execution et te permettra de voir le message d'erreur qui est affiché.

Au passage, tes 3 branchements Suite sont totalement inutile vu que tu fait exactement le même code dans chacun des 3

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
3
Date d'inscription
samedi 9 décembre 2000
Statut
Membre
Dernière intervention
26 avril 2008

Merci Casy pour ta réponse ! Effectivement... ça aide de le lancer de la sorte !!!

Voici donc les erreurs rencontrée...

Suppression des lecteurs...   // ça c'est ok !
Username : Administrator      // C'est aussi ok !

'Dim' is not recognized as an internal or external command, operable program or batch file.
'Function' is not recognized as an internal or external command, operable program or batch file.
'Dim' is not recognized as an internal or external command, operable program or batch file.

Then was unexpected at this time.

Voilà... J'espère que ça t'aidera suffisamment à savoir ce que je fais de faux...

Merci encore !

Bonne soirée
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
C'est pas moi que ça doit aider, mais toi !!!

Ce message d'erreur te dis tout simplement que tu dois repenser ton code parce que la notion de fonctions (tout au moins tel que l'on le concoit en VB par exemple, code que tu as écrit) n'existe pas en batch.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
3
Date d'inscription
samedi 9 décembre 2000
Statut
Membre
Dernière intervention
26 avril 2008

Okay... Pour commencer j'allege mon code afin de debugger, je redonne des nouvelles demain après-midi... Merci encore...