Iis

獲取 IIS 匿名使用者的帳戶名

  • March 2, 2012

我想獲取 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 層次結構中的任何文件夾級別重置。

引用自:https://serverfault.com/questions/365488