obtém o nome da conta para o usuário anônimo do IIS

1

Gostaria de obter o nome da conta de usuário anônimo para uma instalação do IIS. É fácil supor que é o nome da máquina, mas no caso de o nome da máquina ter mudado, eu gostaria de saber o que é. Em última análise, eu gostaria de ser capaz de soltar isso em um arquivo bat ou vbscript que estou usando para uma implantação de site.

O que eu aprendi seguindo no MSDN:

dim schemaObject: set schemaObject = GetObject("IIS://localhost/schema/anonymoususername")
dim schemaObjectType: schemaObjectType = schemaObject.syntax
WScript.Echo( schemaObjectType )

GetObject () está retornando um IISSchemaObject, mas qual propriedade representa o próprio nome? Não é óbvio e não encontrei muita documentação.

Como alternativa, existe uma maneira de chamar o script adsutil e retornar apenas o valor em que você está interessado?

cscript adsutil.vbs get w3svc/anonymoususername
anonymoususername          : (STRING) "IUSR_SERVER-NAME"

Eu quero apenas "IUSR_SERVER-NAME"

    
por nerraga 02.03.2012 / 01:17

2 respostas

3

O ADSUtil apenas usa o GetObject sob as cobertas (o IIS é exposto como um provedor ADSI de variedade de jardins), então você pode simplesmente direcionar a propriedade que está interessado ( se você conhece o caminho) com algo como

set oSite = GetObject("IIS://localhost/W3SVC/1/ROOT")
Wscript.echo oSite.AnonymousUserName

para o site padrão, ou isso (como no exemplo acima) para a configuração no nível da caixa.

set oMasterSite = GetObject("IIS://localhost/W3SVC")
Wscript.echo oMasterSite.AnonymousUserName

Isso abordou, é importante observar que o nome de usuário anon pode ser redefinido basicamente em qualquer nível de pasta na hierarquia do IIS.

    
por 02.03.2012 / 13:35
4

O que há de errado em analisar a variável ambiental% COMPUTERNAME% e a IUSR anterior??

    
por 02.03.2012 / 01:29