Je dois modifier le chemin physique d'un site Web via la ligne de commande via l'outil Appmd.exe, mais je ne peux pas comprendre la syntaxe. Quelqu'un peut-il aider?
Voici comment vous devriez faire:
C:\Windows\System32\inetsrv> Appld Set VDIR "MySite /" -PhysicalPath: "C:\INETPUB\TEMP"
Remarque: "MySite /" est un nom de votre répertoire virtuel, de sorte que si votre répertoire virtuel est sous le site Web par défaut, vous devez probablement définir "Site Web par défaut/MySite /"
Pour déterminer comment faire d'autres commandes AppMD, tapez simplement: Appmd Set VDIR /?
et vous obtiendrez toutes les informations sur ce que vous pouvez faire pour définir votre répertoire virtuel.
Encore plus spécifiquement, si vous voulez savoir quels paramètres vous pouvez modifier pour le type de répertoire virtuel spécifique: Set AppCMD Set VDIR "MySite /" /?
Ces exemples sont juste pour le répertoire virtuel par ils s'appliquent à d'autres commandes AppMD.
J'espère que cela t'aides
Les œuvres suivantes pour moi sur IIS 7.5. Cela change le chemin physique du site Web:
appcmd set site /site.name:"website name" /application[path='/'].virtualDirectory[path='/'].physicalPath:"C:\new\path"
Tapez les éléments suivants pour obtenir une liste complète des propriétés que vous pouvez définir:
appcmd set site /site.name:"website name" /?
La réponse ci-dessus est correcte. Voici ce qui pourrait sembler pour définir le site Web par défaut et quelques autres répertoires virtuels. Nous voulons que le site Web par défaut soit sur D: avec un nom de chemin unique spécial pour l'application, mais deux des répertoires virtuels appartiennent à C: avec leurs propres chemins:
C:\windows\system32\inetsrv\appcmd.exe set vdir "Default Web Site/" -physicalPath:"D:\MyUniquePath"
C:\windows\system32\inetsrv\appcmd.exe set vdir "Default Web Site/OtherWebSite" -physicalPath:"C:\OtherWeb\ApplicationServer\web"
C:\windows\system32\inetsrv\appcmd.exe set vdir "Default Web Site/ExtraPlugins" -physicalPath:"C:\OtherWeb\ApplicationServer\plugins"
La syntaxe est facile, mais la détermination de la chaîne exacte que AppCMD prend pour que le répertoire virtuel puisse être délicat.
Pour obtenir une liste de répertoires virtuels par site et nom de l'application pour vous aider à essayer de définir la bonne chose.
C:\Windows\System32\inetsrv\appcmd.exe list apps /config /xml
tuyau éventuellement tué |more
et/ou mode con cols=160
cette regex a retiré les pièces que je voulais
var q= from siteApp in config.XPathSelectElements("appcmd/APP")
let appName=siteApp.Attribute(XNamespace.None+"APP.NAME").Value
from app in siteApp.XPathSelectElements("application")
let appPath=app.Attribute(XNamespace.None+"path").Value
let pool=app.Attribute(XNamespace.None+"applicationPool").Value
let vd=app.XPathSelectElements("virtualDirectory[@path]")
let virtuals=vd.Select (v => new{VirDir=v.Attribute(XNamespace.None+"path").Value,PhysicalPath=v.Attribute(XNamespace.None+"physicalPath").Value})
let xvirtuals=virtuals.Select (v => new{ VirDir=v.VirDir,
PhysicalPath=v.PhysicalPath,
EnvRoot=v.PhysicalPath.ToString().StartsWith("%")})
select new{AppName=appName,AppPath=appPath, Pool=pool,Virtuals=xvirtuals};
alors alors pour un site spécifique, il devient appcmd.exe set vdir "DefaultWebSite/jms" -physicalPath:"c:\inetpub\wwwroot\mytargetPath"
voici les substitutions variables:
appcmd.exe set vdir "
+ appName + vir.virdir + " -physicalPath:"
+ TargetPath + "
et regarder les paramètres de configuration pour ce site:
C:\Windows\System32\inetsrv\appcmd.exe list apps /config /xml /path:/jms
une autre utilisation à prendre conscience de:
C:\Windows\System32\inetsrv\appcmd.exe list apps /metadata /config:* /xml
Et si vous essayez de modifier le chemin physique d'une application Web, voici un exemple de modification de l'application Web "SPOCKADOODLE" créée sous le site Web "Site Web par défaut" pour avoir le chemin physique "C: _JUNK".
appcmd set app /app.name:"Default Web Site/spockadoodle" -[path='/'].physicalPath:c:\_junk
Je l'ai compris en exécutant la commande:
appcmd set app /app.name:"Default Web Site/spockadoodle" /?
et dans la sortie que j'ai observée
ERROR (message:-path
-applicationPool
-enabledProtocols
...
-[path='string'].physicalPath
et avant cela, dans la sortie de la commande
appcmd set apps /?
la sortie mentionnée:
Exemple: AppCMD Set App "Site Web par défaut /"/EnabledProtocols: http
Sets the "enabledProtocols" property of the application "Default Web Site/".
Donc, à partir de l'exemple citant de définir des "compactocols", j'ai substitué l'exemple de [Chemin = 'String']. Physicalpath
Pour connaître la valeur de l'expression d'attribut [Chemin = 'String'] J'ai observé dans la sortie de la commande
appcmd list app "Default Web Site/spockadoodle" /config
la sortie montre que l'application Web SpockadOoodle a une valeur d'attribution du chemin "/":
<chemin d'application = "/ SPOCKADOODLE" ApplicationPool = "Iservevis">
<VirtualDirectoryDefault />
<chemin VirtualDirectory Chemin = "/" PhysicalPath = "C: _JUNK" />
</ application>
En outre, j'ai trouvé pour utiliser l'identifiant /app.name Identificateur d'exemples sur le site Web http://www.iis.net/learn/get-started/geting-started-with-iis/getting-starté- avec-appmdexe