ใน IIS ข้อมูลประจำตัวของเส้นทางทางกายภาพถูกตั้งค่าใน applicationHost.config ดังนี้:
<virtualDirectory path="/" physicalPath="C:\Path\to\files" userName="user" password="[enc:IISCngProvider:ENCRYPTEDBLOBHERE=:enc]" />
ถึง ชุด หรือ เปลี่ยน ค่าชื่อผู้ใช้และรหัสผ่าน ฉันสามารถใช้ Set-WebConfigurationProperty:
$xpath = "system.applicationhost/sites/site[@name='Default Web Site']/application[@path='/MyApplication']/virtualDirectory[@path='/']"
Set-WebConfigurationProperty $xpath -name userName -value "USERNAME"
Set-WebConfigurationProperty $xpath -ชื่อรหัสผ่าน -ค่า "PASSWORD"
แต่ฉันจะลบแอตทริบิวต์เหล่านั้นได้อย่างไร ดังนั้น IIS จึงเปลี่ยนกลับไปใช้การรับรองความถูกต้องแบบพาส-ทรู ฉันได้ลองสิ่งต่อไปนี้ทั้งหมดโดยไม่ประสบความสำเร็จ:
ลบ-WebConfigurationProperty $xpath -ชื่อ userName
# ชื่อคุณสมบัติ userName ไม่ได้ชี้ไปที่คอลเลกชัน
Remove-WebConfigurationProperty "$xpath/@userName"
# พารามิเตอร์ Name เป็นสิ่งจำเป็น
Remove-WebConfigurationProperty "$xpath/@userName" -name
# คำเตือน: คุณสมบัติ . ไม่พบใน /system.applicationHost/sites/site[@name='Default Web Site' and @id='1']/application[@path='/MyApplication']/virtualDirectory[@path='/'] /@ชื่อผู้ใช้.
ล้างการกำหนดค่าเว็บ "$xpath/@userName" -Force
#ไม่มีอะไรเปลี่ยนแปลง
Remove-ItemProperty "IIS:\Sites\Default Web Site\MyApplication" - ชื่อผู้ใช้
# ชื่อคุณสมบัติ userName ไม่ได้ชี้ไปที่คอลเลกชัน
ฉันรู้ว่าฉันสามารถทำได้ด้วย appcmd แต่ไม่ควรมีวิธีการทำเช่นนี้กับโมดูล WebAdministration หรือไม่