Iis
獲取 IIS 匿名使用者的帳戶名
我想獲取 IIS 安裝的匿名使用者帳戶的名稱。假設它是機器名稱很容易,但是如果機器名稱發生了變化,我仍然想知道它是什麼。最終,我希望能夠將其放入我用於網站部署的 bat 文件或 vbscript 中。
我從 MSDN 收集到以下資訊:
dim schemaObject: set schemaObject = GetObject("IIS://localhost/schema/anonymoususername") dim schemaObjectType: schemaObjectType = schemaObject.syntax WScript.Echo( schemaObjectType )
GetObject() 返回一個 IISSchemaObject 但什麼屬性代表名稱本身?這並不明顯,我在文件方面沒有發現太多。
或者,有沒有辦法呼叫 adsutil 腳本並只返回您感興趣的值?
cscript adsutil.vbs get w3svc/anonymoususername anonymoususername : (STRING) "IUSR_SERVER-NAME"
我只想要“IUSR_SERVER-NAME”
ADSUtil 只是在幕後使用 GetObject(IIS 被公開為各種 ADSI 提供程序),因此您可以簡單地使用類似的東西來定位您感興趣的屬性(如果您知道路徑)
set oSite = GetObject("IIS://localhost/W3SVC/1/ROOT") Wscript.echo oSite.AnonymousUserName
用於預設網站,或者此(如上面的範例)用於框級別設置。
set oMasterSite = GetObject("IIS://localhost/W3SVC") Wscript.echo oMasterSite.AnonymousUserName
涵蓋了這一點,重要的是要注意匿名使用者名基本上可以在 IIS 層次結構中的任何文件夾級別重置。