Powershell IIS Import Sites?

1 Antwort

zu Allererst sollten mal die IIS-Verwaltungsconsole installiert sein.

dazu starte in der Console:

optionalfeatures

Bild zum Beitrag

...und was Du sonst noch benötigst....

nun zu Deiner Kommandozeile...
%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml

appcmd muss in einer Console/Powershell mit Adminrechten ausgrführt werden!

Wahrscheinlich hast Du die Beispiel-Befehlszeile einfach irgendwo ohne nachzudenken abgeschrieben.... sonst wüsstest Du bei Beispielen bewusst irgendwelche NonsensPfad angegeben werden (wie: C:\wasWeissDerFuchs.txt )

Wenn Du zuvor keine Datei dorthin ausgegeben/gespeichert hast so ist dort keine..... und macht auch keinen Sinn dort

Erstmal musst Du die Konfiguration eines fertig konfigurierten Servers exportieren (vorzugsweise auf ein TransportMedium .---der Stick ..Laufwerk L: ?)

%windir%\system32\inetsrv\appcmd list apppool /config /xml > "L:\apppools.xml"
%windir%\system32\inetsrv\appcmd list site /config /xml > "L:\site.xml"

und auf Deinem ZielServer importerst Du die zuvor gespeicherten konfigurationen:

%windir%\system32\inetsrv\appcmd add apppool /in < "L:\apppools.xml"
%windir%\system32\inetsrv\appcmd add site /in < "L:\sites.xml"

kein Akt...

die Wahl des Pfades und der Benennung der Dateien ist völlig Willkürlich. Du muss nur wissen wo Du sie findest.

Für die Handhabung von Einstellungen mit PowerShell hier noch ein paar Links:


Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
 - (Webseite, Import, Export)
veltiix 
Fragesteller
 15.09.2023, 15:40

Der Pfad habe ich einfach zum Testen auf das Laufwerk T gemacht, da es nur eine Test-Umgebung ist. Ansonsten würde ich dies natürlich nicht tun. Die Dateien waren bereits an diesem Ort und ich habe Powershell auch als Administrator ausgeführt. Jedoch hatte es den Operator "<" nicht erkannt. Weshalb ich diesen Command nicht nutzen konnte, zum importieren.

0
Erzesel  15.09.2023, 17:03
@veltiix

aber dir ist schon klar, das die Variablen-Notation von cmd nicht in der Powershell funktioniert...

PowerShell hat seine eigene Notation: $env:VarName .

die Exportzeile einfach mal unter PowerShell per Dotsourcing ausgeführt:

. "$env:windir\system32\inetsrv\appcmd" list apppool /config /xml > "f:\apppools.xml"

raus gehts wie unter Dos...

Powershell kennt allerdings keine " Redirection von RechterHand ("<")" In poweshell kommen die Daten immer von Links und in einer Pipeline

${F:\apppools.xml} | . "$env:windir\system32\inetsrv\appcmd" add apppool /in
#oder...
Get-Content 'F:\apppools.xml' -raw |  . "$env:windir\system32\inetsrv\appcmd" add apppool /in

den ganzen Kladderadatsch kannst Du vermeiden, indem du einfach cmd startest. ...dann kannst Du eingeben wie oben in in meiner Antwort.

oder

in der powershell in einer cmd-Kommandozeile:

cmd /c  '%windir%\system32\inetsrv\appcmd add apppool /in < f:\apppools.xml'
0