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

ASP Discussion :

repertoire virtuel: existance,creation,suppression


Sujet :

ASP

  1. #1
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut repertoire virtuel: existance,creation,suppression
    Bonjour!
    Le titre a l'air un peu violent a premiere vue, mais je m'explique :

    Je dois ecrire une application en vbscript-asp qui doit mettre en place un site intranet (ou en effacer un), c'est a dire en gros : creer le repertoire sur le serveur, mettre en place un share sur ce repertoire, de meme pour le virtual directory, mettre en place tous les droits et bla bla bla et bla bla bla.

    Avant de faire tout ca, il faut que je teste si un site du meme nom existe deja (logique), et pour cela il faut donc que je teste si un share ou un virtual directory donné existe. Par consequent, j'aurais aime savoir s'il existe un moyen en asp ou vbscript de verifier tout ca. (ceci explique le "existance")
    Comme j'en aurais besoin par la suite aussi, je demande tout de suite si des commandes du meme genre existent pour la creation ou la suppression de Share ou de V.Directory. (ceci explique donc creation et suppression)

    De plus, si ce n'est pas possible en vbscript&co, j'ai la possibilite d'utiliser des commandes dos, je pourrais toujours chercher de ce cote la au cas ou, ms je prefere eviter au maximum...


    voila (desolee pour le roman)



    Merci d'eclairer ma lanterne

  2. #2
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    J'ai pas un tres grand succes visiblement avec ma question... Faut croire que je ne suis pas la seule a secher...

    J'ai continué mes recherches et je suis tombée la dessus :
    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
     
    <%
    Function VirtDirVorhanden(ServerName, VDName)
    	VirtDirVorhanden = FALSE
    	On ERROR Resume Next
    	Set ServO = GetObject("IIS://" + ServerName + "/W3SVC/1/root")
    	If Err.Number = 0 Then
    		Set VDO = GetObject("IIS://" + ServerName + "/W3SVC/1/root/" + VDName)
    		If Err.Number = 0 Then
    			If VDO.Class = "IIsWebVirtualDir" Then
    				VirtDirVorhanden = TRUE
    			End If
    		End If
    	End If
    	Err.Clear
    	Set VDO = Nothing
    	Set ServO = Nothing
    End Function
    %>
    il s'agirait d'une fonction qui dirait si un VD existe ou non...
    Il y a juste deux petits problemes :

    1. Je comprends pas trop comment que ca fonctionne
    2. J'ai teste et il marche pas (peut etre en raison du 1. et que je ne l'utilise pas correctement...)

    On m'a donc dit que ce bout de code est a completer et/ou a corriger...
    Moi je veux bien.... mais, vu que je ne comprends pas trop toutes les instructions et a quoi correspondent les path...

    Je m'adresse donc a vous O dieux (attention c'est bien en 2 mots) et genies de l'asp :

    Quelqu'un peut-il m'aider a comprendre ce charabia ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Faut invoquer Goldorak
    Change le titre en "Répertoires Virtuels et Partages" pour commencer.

  4. #4
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    pas bete...
    je suis passee de l'allemand a l'anglais, mais j'ai pas pense a le traduire en francais par la suite... je suis vraiment a cote de la plaque moi


    ps : pour les partages, j'utilise la commande RMTShare... Donc pour les share la questions est reglee... Reste "plus que" les "repertoires virtuels...

  5. #5
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Bon je peux aller prendre ma pelle et creuser :
    C'est bien ce que je pensais, la fonction n'a pas de bug, c'est moi qui ne sais pas m'en servir (enfin maintenant si je sais...)
    Mais je ne sais toujours pas comment elle marche... Et ca m'interesserais quand meme beaucoup...

    Donc le probleme d'existence d'un repertoire virtuel est règlé... (c'est déjà ca..)

  6. #6
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    ben heureusement que je n'ai pas creuser trop profond!!
    En fait la fonction est peut etre quand meme imparfaite :
    je m'explique :

    voici comment j'utilise cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		VirtDirNotExistsEntw = not VirtDirVorhanden("buewww05", request.QueryString("webname"))
    		VirtDirNotExistsProd = not VirtDirVorhanden("buewww02", request.QueryString("webname"))
    il me repond gentiment que le repertoire existe (lorsque c'est le cas bien sur) sur le serveur buewww05 (serveur sur lequel je developpe)
    Mais ce fameux repertoire virtuel n'existe JAMAIS sur le buewww02... Or :
    1. les deux serveurs sont senses etre identiques...
    2. J'ai verifie, le repertoire virtuel que je demande existe bien...
    Donc je reviens a mon eternel probleme : il faut que je corrige la fonction, mais pour ca je dois la comprendre... et j'ai beau chercher je comprends pas...

    Donc Pitié : Si quelqu'un comprend, qu'il me fasse partager son savoir S'il vous plait....

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ton répertoire virtuel est bien situé dans le serveur par défaut, parce que tu code en dur :

    /W3SVC/1/root/

    ?

  8. #8
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    je suppose... (comme je comprends pas ce que "je" code, je peux pas te l'assurer a 100%)

    Mais comme je l'ai dit tout a l'heure, les deux serveurs sont identiques :
    le 05 est le serveur de developpement
    et le 02 est le productif
    Mais ils ont exactement la meme structure (meme repertoires etc...) ca j'en suis sure, donc si les rep virtuels sont situes a cet endroit sur le serveur 05 ils sont au meme endroit sur le 02...

  9. #9
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    question bete :
    Si le serveur 05 n'a aucun droit sur le serveur 02, je suppose donc que c'est tout a fait normal que la commande "getobject" ne peut rien tirer du 02 et obtient dc une erreur (puisque je fais mes tests sur le 05), non?

    si c'est effectivement ca le probleme, est-ce qu'il existe un moyen de contourner la chose?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Il faut que le processus qui éxécute la commande possède les droits suffisants pour accomplir la commande.
    Tu devrais demander à l'admin des deux serveurs

  11. #11
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    chose que je vais faire des qu'il aura pointé le bout de son nez, enfin, s'il daigne nous honorer de sa présence aujourd'hui...

    Au fait, J'ai trouver des fonctions similaires pour creer, supprimer et modifier les parametres des repertoires virtuels du meme genre que la premiere...(je ne les ai pas encore testé, je n'ai meme pas encore eu le temps de comprendre leur fonctionnement...) J'en ai 4 pages... Je mets ou ca interesse personne?

  12. #12
    Invité
    Invité(e)
    Par défaut
    T'as pas plutot des liens?

  13. #13
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    ben non
    j'ai le fichier vbs avec tout dedans... sinon j'aurais filé le lien...

  14. #14
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Pour ceux que ca interesse :

    mon serveur 02 et mon serveur 05 n'ont aucun droit l'un sur l'autre (et je ne peux pas leur en donner), donc comme solution j'ai trouvé ceci (il y a surement une meilleure solution) Je teste sur quel serveur je travaille avec la variable SERVER_NAME et je renvoie sur une page de test sur l'autre serveur avec un redirect...

    Qui dit mieux?
    je suis preneuse.

  15. #15
    Invité
    Invité(e)
    Par défaut
    mon serveur 02 et mon serveur 05 n'ont aucun droit l'un sur l'autre
    Préviens ton suiveur de stage tout de suite que tu n'as pas les moyens techniques de réaliser ton projet ....

  16. #16
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Ben j'en ai parlé avec lui, et je vais essayer de le faire comme ca. Au pire ca ne marche pas et la IL aura un gros probleme, pas moi.

    Et puis si je lui dis ca, je me retrouve de nouveau au chomage technique...

  17. #17
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    bon alors voila ce que j'ai trouve pour contourner le truc :

    premiere page de test :

    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
     
    		Dim ServerName : ServerName = request.ServerVariables("SERVER_NAME")
    		If Instr(ServerName,EntwS) > 0 then
     
    			Dim VirtDirNotExistsEntw : VirtDirNotExistsEntw = True
    			VirtDirNotExistsEntw = not VirtDirVorhanden(EntwS, request.QueryString("webname"))
     
    			If FolderNotExistsEntw AND FolderNotExistsProd AND ShareNotExists AND ShareTabNotExists AND VirtDirTabNotExists AND WebnameTabNotExists AND VirtDirNotExistsEntw Then
    				response.Redirect("http://www.bue.de.bosch.com/iwefadmin/NeueSite/VDTestSeite.asp?Webname="& request.QueryString("webname")&"&Ordner="&request.QueryString("Ordner"))
    			Else [...]
    end if
     
    		else	
    			Dim VirtDirNotExistsProd : VirtDirNotExistsProd = True
    			VirtDirNotExistsProd = not VirtDirVorhanden(ProdS, request.QueryString("webname"))
     
    			If FolderNotExistsEntw AND FolderNotExistsProd AND ShareNotExists AND ShareTabNotExists AND VirtDirTabNotExists AND WebnameTabNotExists AND VirtDirNotExistsProd Then
    				response.Redirect("http://buewww05.bue.de.bosch.com/iwefadmin/NeueSite/VDTestSeite.asp?Webname="& request.QueryString("webname")&"&Ordner="&request.QueryString("Ordner"))
    			Else
    				[...]
     
    			End if
     
     
    		End If
    page du redirect :
    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
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!--#include file="../Connections/Iwef.asp" -->
    <!--#include file="../variable.vbs" -->
    <!--#include file="../scripts/VirtDirs.vbs" -->
     
    <%
     
    Dim ServerName : ServerName = request.ServerVariables("SERVER_NAME")
    Dim Webname : Webname = request.QueryString("webname")
    Dim Ordner : Ordner = request.QueryString("Ordner")
     
    If Instr(ServerName,EntwS) > 0 then
     
    			Dim VirtDirNotExistsEntw : VirtDirNotExistsEntw = True
    			VirtDirNotExistsEntw = not VirtDirVorhanden(EntwS, request.QueryString("webname"))
    			If VirtDirNotExistsEntw then 
    				Response.Redirect("http://www.bue.de.bosch.com/iwefadmin/NeueSite/Ordner.asp?Webname="&webname&"&Ordner="&Ordner)
    			else
    				response.redirect("http://www.bue.de.bosch.com/iwefadmin/NeueSite/NeuDefault.asp?VirtDirNotExistsEntw="&VirtDirNotExistsEntw&"&Ordner="&Ordner)
    			end if
    else
    			Dim VirtDirNotExistsProd : VirtDirNotExistsProd = True
    			VirtDirNotExistsProd = not VirtDirVorhanden(ProdS, request.QueryString("webname"))
    			if VirtDirNotExistsProd then
    				response.Redirect("http://buewww05.bue.de.bosch.com/iwefadmin/NeueSite/Ordner.asp?Webname="&webname&"&Ordner="&Ordner)
    			else
    				response.redirect("http://buewww05.bue.de.bosch.com/iwefadmin/NeueSite/NeuDefault.asp?VirtDirNotExistsProd="&VirtDirNotExistsProd&"&Ordner="&Ordner)
    			end if
     
    End if
     
    %>
    [/code]

  18. #18
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Coucou!!!!
    je continue mon monologue!
    Alors pour creer un repertoire virtuel voici comment il faut faire :
    (fonction a adapter bien entendu)

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <%
    Function VirtDirErstellen(ServerName, VDName, Pfad)
    	VirtDirErstellen = "Der virtuelle Directory "&VDName&" wurde auf dem Server "&ServerName&" erfolgreich erstellt."
    	On ERROR Resume Next
    	Set ServO = GetObject("IIS://" + ServerName + "/W3SVC/1/Root")
    	If Err.Number = 0 Then
    		Set NewVDir = ServO.Create("IIsWebVirtualDir","" + VDName + "")
    		If Err.Number = 0 Then
    			Set FSO = Server.CreateObject("Scripting.FileSystemObject") 
    				If FSO.FolderExists(Pfad) Then
    					NewVDir.Path = Pfad
    					NewVDir.AccessSource = FALSE				'Skriptzugriff
    					NewVDir.AccessRead = TRUE					'Lesezugriff
    					NewVDir.AccessWrite = FALSE					'Schreibzugriff
    					NewVDir.EnableDirBrowsing = FALSE			'Verzeichnis durchsuchen
    					NewVDir.DontLog = FALSE						'Besuche nicht protokollieren
    					NewVDir.ContentIndexed = TRUE				'Ressourchen indizieren
    					NewVDir.AccessScript = TRUE					'Ausführberechtigung Skripts
    					NewVDir.AccessExecute = FALSE				'Ausführberechtigung ausführbare Programme
    					NewVDir.EnableDefaultDoc = TRUE				'Standarddokumente aktivieren
    					NewVDir.DefaultDoc = DefStartseiten			'Standarddokumente
    					'NewVDir.AppRoot = "IIS://" + ServerName + "/W3SVC/1/Root"			'Anwendungsname
     
     
    					If instr(ServerName, EntwicklungS) > 0 Then
    						NewVDir.AuthAnonymous = FALSE			'Anonyme Anmeldung
    						NewVDir.AuthNtlm = TRUE					'Integrierte Windows-Authentifizierung
    					Else
    						NewVDir.AuthAnonymous = TRUE			'Anonyme Anmeldung
    						NewVDir.AuthNtlm = FALSE				'Integrierte Windows-Authentifizierung
    					End If
     
    					NewVDir.AuthBasic = FALSE					'Standardauthentifizierung
    					NewVDir.SetInfo
     
    					NewVDir.AppCreate TRUE						'Anwendung erstellen
    					NewVDir.AppFriendlyName = VDName			'Anwendungsname
    					NewVDir.AppIsolated = 2						'Anwendungsschutz mittel
    					NewVDir.SetInfo
    					If Err.Number > 0 Then
    						If Err.Number = -2147024713 Then
    							VirtDirErstellen = "<Font color = RED><strong>Der virtuelle Directory "&VdName&" existiert bereits auf "& ServerName &".</strong></font>"
    						else 
    							If  Err.Description = "" Then
    								VirtDirErstellen = "<Font color = RED><strong>Es gab ein Problem beim Erstellen des virtuellen Directory :<br> Fehlernummer "&Err.number &"</strong></font>"
    							else
    								VirtDirErstellen = "<Font color = RED><strong>Es gab ein Problem beim Erstellen des virtuellen Directory :<br>"&Err.Description&"</strong></font>"
    							End If
    						End if
     
    					End If
     
    				Else
    					VirtDirErstellen = "<Font color = RED><strong>Der Ordner "&Pfad&" ist nicht vorhanden</strong></font>"
    				End If
    		Else
    			If Err.Number = -2147024713 Then
    				VirtDirErstellen = "<Font color = RED><strong>Der virtuelle Directory "&VdName&" existiert bereits auf "& ServerName &".</strong></font>"
    			else 
    				If  Err.Description = "" Then
    					VirtDirErstellen = "<Font color = RED><strong>Es gab ein Problem beim Erstellen des virtuellen Directory :<br> Fehlernummer : "&Err.number&"</strong></font>"
    				else
    					VirtDirErstellen = "<Font color = RED><strong>Es gab ein Problem beim Erstellen des virtuellen Directory :<br>"&Err.Description&"</strong></font>"
    				End If
    			End if
    		End If
    	Else
    		If Err.Number = -2147024713 Then
    			VirtDirErstellen = "<Font color = RED><strong>Der virtuelle Directory "&VdName&" existiert bereits auf "& ServerName &".</strong></font>"
    		else 
    			If  Err.Description = "" Then
    				VirtDirErstellen = "<Font color = RED><strong>Es gab ein Problem beim Erstellen des virtuellen Directory :<br> Fehlernummer : "&Err.number&"</strong></font>"
    			else
    				VirtDirErstellen = "<Font color = RED><strong>Es gab ein Problem beim Erstellen des virtuellen Directory :<br>"&Err.Description&"</strong></font>"
    			End If
    		End if
    	End If
    	Set NewVDir = Nothing
    	Set ServO = Nothing
    End Function
    %>
    ATTENTION :
    il est visiblement important de faire ces operations-ci dans l'ordre et a la fin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    					NewVDir.SetInfo
     
    					NewVDir.AppCreate TRUE						'Anwendung erstellen
    					NewVDir.AppFriendlyName = VDName			'Anwendungsname
    					NewVDir.AppIsolated = 2						'Anwendungsschutz mittel
    					NewVDir.SetInfo
    sinon l'objet créé ressemblera comme deux gouttes d'eau a un IISWebVirtDir, mais il s'agira en realite d'un IISWebDirectory!! (que celui qui connait la difference entre les deux me le fasse savoir s'il vous plait!!!)

    voila

    je reviendrai pour la suppression

  19. #19
    Invité
    Invité(e)
    Par défaut
    Quand tu auras fini, tu ne noues ferais pas une entrée supplémentaire pour la Faq ASP ?

  20. #20
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par Florian
    Quand tu auras fini, tu ne noues ferais pas une entrée supplémentaire pour la Faq ASP ?
    Gnih ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/07/2012, 12h16
  2. creation d'un repertoire non existant
    Par kayenne77 dans le forum Langage
    Réponses: 6
    Dernier message: 05/08/2009, 12h08
  3. Modification du contenu d'une page d'un repertoire virtuel
    Par celine_tr dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 24/08/2006, 16h17
  4. Réponses: 3
    Dernier message: 30/05/2006, 17h39
  5. [C#][IIS] Repertoire Virtuel
    Par BoeufBrocoli dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/01/2004, 18h40

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