Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise en place de filtre par vbscript

4 réponses
Avatar
Laurent VARES
Bonjour à tous et à toutes,

je tente de mettre en place un filtre ISAPI sur mon site web par défaut
(IIS5 sur W2000 Pro) à l'aide du script vbs suivant :

' Usage : AddFilter <Filtername> <FilterPath> <FilterDesc>
' AddFilter myFilter "C:\iisfilts\myfilter.dll" "This is my filter"
'---------------------------------------------------------------------------
---------------------
Dim FiltersObj
Dim FilterObj
Dim LoadOrder
Dim FilterName, FilterPath, FilterDesc
Dim oArgs

Const GENERAL_FAILURE = 2

' On passe les parametres dans les variables

Set oArgs = WScript.Arguments
If (oArgs.Count = 3) Then
FilterName = oArgs(0)
FilterPath = oArgs(1)
FilterDesc = oArgs(2)
Else
DisplayHelpMessage
WScript.Quit (GENERAL_FAILURE)
End If

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters")
LoadOrder = FiltersObj.FilterLoadOrder
If LoadOrder <> "" Then
LoadOrder = LoadOrder & ","
End If
LoadOrder = LoadOrder & FilterName
FiltersObj.FilterLoadOrder = LoadOrder
FiltersObj.SetInfo

Set FilterObj = FiltersObj.Create("IIsFilter", FilterName)
FilterObj.FilterPath = FilterPath
FilterObj.FilterDescription = FilterDesc
FilterObj.SetInfo

Set oArgs = Nothing
Set FiltersObj = Nothing
Set FilterObj = Nothing

WScript.Quit (0)

Sub DisplayHelpMessage()
WScript.Echo "Il manque des paramètres"
WScript.Echo "Usage:"
WScript.Echo " AddFilter.VBS <Filtername> <FilterPath>
<FilterDesc>"
End Sub

Je fais un iisreset, puis regarde l'onglet Filtre ISAPI avec le gestionnaire
d'IIS : mon filtre n'y est pas ! Par contre, si je relance mon script, une
erreur arrive me disant qu'il y a déjà un filtre du même nom.

Si j'enregistre manuellement avec le gestionnaire d'IIS cette même DLL, cela
fonctionne.

Vous auriez une idée ?

Merci à tous et à toutes.

Laurent.

4 réponses

Avatar
Laurent VARES
Re-bonjour,

je viens de trouver, alors, je me réponds ...

Dans le code précédent, il fallait écrire :

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/1/Filters") (le 1 après
W3SVC)

à la place de

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters")

et ajouter la ligne suivante

FilterObj.FilterState = 1

après

FilterObj.FilterPath = FilterPath



Voilà, en espérant que ceci sera utile pour quelqu'un d'autre.

Laurent
Avatar
Nox
Bonjour Laurent VARES. Je cherche à créer un filtre isapi qui redirigerai
tout le trafic du site www.mondomaine.com sur un autre serveur web en local,
comme une passerelle en faite . En voyant ton problem et tes compétences j'ai
pansé que tu pourai peu etre m'aidé :) Je ne m'y connais pas code de ce genre.

Merci


"Laurent VARES" a écrit :

Re-bonjour,

je viens de trouver, alors, je me réponds ...

Dans le code précédent, il fallait écrire :

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/1/Filters") (le 1 après
W3SVC)

à la place de

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters")

et ajouter la ligne suivante

FilterObj.FilterState = 1

après

> FilterObj.FilterPath = FilterPath

Voilà, en espérant que ceci sera utile pour quelqu'un d'autre.

Laurent





Avatar
jbongran
Nox wrote:
Bonjour Laurent VARES. Je cherche à créer un filtre isapi qui
redirigerai tout le trafic du site www.mondomaine.com sur un autre
serveur web en local, comme une passerelle en faite . En voyant ton
problem et tes compétences j'ai pansé que tu pourai peu etre m'aidé
:) Je ne m'y connais pas code de ce genre.

Merci


"Laurent VARES" a écrit :

Re-bonjour,

je viens de trouver, alors, je me réponds ...

Dans le code précédent, il fallait écrire :

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/1/Filters") (le 1
après W3SVC)

à la place de

Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters")

et ajouter la ligne suivante

FilterObj.FilterState = 1

après

FilterObj.FilterPath = FilterPath



Voilà, en espérant que ceci sera utile pour quelqu'un d'autre.

Laurent





Pourquoi réinventer la roue ?
www.isapirwrite.com en version payante (58 euros) permet d'avoir
l'équivalent d'un reverse proxy:
http://www.isapirewrite.com/docs/#RewriteProxy
Voir l'exemple ultra simple en bas de page.
Il existe églement une version écrite en asp.net, google pourra t'aider
(mots clés: iis reverse proxy)
Si tu un apache, rechercher dans la doc de ce dernier pour le paramètre
ProxyRequests On
Avatar
Nox
"jbongran" a écrit :

Nox wrote:
> Bonjour Laurent VARES. Je cherche à créer un filtre isapi qui
> redirigerai tout le trafic du site www.mondomaine.com sur un autre
> serveur web en local, comme une passerelle en faite . En voyant ton
> problem et tes compétences j'ai pansé que tu pourai peu etre m'aidé
> :) Je ne m'y connais pas code de ce genre.
>
> Merci
>
>
> "Laurent VARES" a écrit :
>
>> Re-bonjour,
>>
>> je viens de trouver, alors, je me réponds ...
>>
>> Dans le code précédent, il fallait écrire :
>>
>> Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/1/Filters") (le 1
>> après W3SVC)
>>
>> à la place de
>>
>> Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters")
>>
>> et ajouter la ligne suivante
>>
>> FilterObj.FilterState = 1
>>
>> après
>>
>>> FilterObj.FilterPath = FilterPath
>>
>> Voilà, en espérant que ceci sera utile pour quelqu'un d'autre.
>>
>> Laurent

Pourquoi réinventer la roue ?
www.isapirwrite.com en version payante (58 euros) permet d'avoir
l'équivalent d'un reverse proxy:
http://www.isapirewrite.com/docs/#RewriteProxy
Voir l'exemple ultra simple en bas de page.
Il existe églement une version écrite en asp.net, google pourra t'aider
(mots clés: iis reverse proxy)
Si tu un apache, rechercher dans la doc de ce dernier pour le paramètre
ProxyRequests On





Merci beaucoup Jbongran ton aide m'a etait tres précieuse je me lance dans
l'Url rewriting.
Merci