Saya mencoba perintah appcmd berikut:
appcmd list app /site.name:"misechko.com.ua-DEV" /xml | appcmd list vdir /in /text:physicalPath
misechko.com.ua-DEV adalah nama situs yang benar di IIS. appcmd terdaftar di jalur;
Saya mendapatkan output kesalahan berikut ketika saya mencoba menjalankan perintah di cmd.exe:
GALAT (hresult: 8007000d, pesan: Input berisi kesalahan elemen, yang dapat menunjukkan bahwa operasi yang menghasilkan input memiliki gagal. )
Apa kesalahan dalam pengaturan aplikasi? Saya kira saya mencampur pendekatan cmd dan PowerShell, tetapi skrip yang disebutkan di atas juga tidak berfungsi di PowerShell. Cara PowerShell untuk mendapatkan jalur dengan nama situs web lebih disukai.
P.S. Alternatif PowerShell saya yang juga tidak berfungsi:
$appCmd = "$Env:SystemRoot\system32\inetsrv\appcmd.exe"
$appcmd list app /site.name:"misechko.com.ua-DEV" /xml | $appcmd list vdir /in /text:physicalPath
Terima kasih!
appcmd list app ...
akan mengembalikan semua direktori virtual sebagai saudara yaitu akan memecah parser XML. Jika Anda hanya tertarik pada root situs, lebih baik menggunakan "vdir"$appCmd list vdir "$siteName/" /config
(perhatikan tanda garis miring pada nama situs), dan kemudian ubah jalur xml agar sesuai dengan yang saya inginkan.$appConfigXml.virtualDirectory.physicalPath