Como posso executar um script Em Credenciais Alternate?

Tanto WMI e ADSI fornecem uma maneira para que você possa executar um script com credenciais de segurança alternativo, ou seja, ambos permitem que você especifique um nome de usuário e uma senha em que o script será executado. Além disso, essas duas tecnologias oferecem uma maneira de garantir que este nome de usuário e senha são criptografadas, e são não passou em toda a rede usando o texto claro.
Mais provável que você realmente quer saber é como executar um script com credenciais de segurança alternativo. Vamos começar dando uma olhada em um script WMI que se conecta a um computador remoto ( atl-ws-01 ) e recupera o nome do sistema operacional instalado no computador. Além disso, ele faz isso através da execução sob oAdministrador da conta, que neste exemplo tem uma senha de 4rTGh2 # 1 :

Const WbemAuthenticationLevelPktPrivacy strComputer = 6 = "atl-ws-01" strNamespace = "root \ cimv2" strUser = "Administrador" strPassword = "4rTGh2 # 1" Set objWbemLocator = CreateObject ("WbemScripting.SWbemLocator") Set objWMIService objwbemLocator.ConnectServer = _ (strComputer, strNamespace, strUser, strPassword) objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy Set colItems objWMIService.ExecQuery = _ ("Select * From Win32_OperatingSystem") para cada objItem em ColItems strComputer Wscript.Echo & ":" & objItem.Caption Próxima

Como você pode ver, começamos criando uma constante chamada WbemAuthenticationLevelPktPrivacy e atribuindo-lhe o valor 6; este valor será usado para criptografar a comunicação entre nosso computador eo computador remoto. Nós, então, definir quatro variáveis ​​- strComputer, strNamespace, strUser e strPassword – que detêm o nome de nosso computador remoto, o namespace WMI que deseja se conectar, a conta de usuário que deseja executar o script abaixo; ea senha para esse usuário conta.

Neste ponto estamos prontos para conectar ao computador remoto usando essas credenciais alternativas. Isso é o que estas linhas de código faz:

Definir objWbemLocator = CreateObject ("WbemScripting.SWbemLocator") Set objWMIService = objwbemLocator.ConnectServer _ (strComputer, strNamespace, strUser, strPassword) objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy

Começamos criando uma instância do objeto SWbemLocator, e depois chamar o método ConnectServer. ConnectServer é passado quatro parâmetros, o que só acontecerá a correspondem às quatro variáveis ​​que criamos há pouco. Em seguida, definir oSecurity_authenticationLevel propriedade para WbemAuthenticationLevelPktPrivacy, dando-nos uma ligação mais segura entre os dois computadores.

Daquele ponto em diante, o resto do código é o mesmo código WMI anos você conhece e adora.

Uma observação importante: essa abordagem, em que você executar um script com credenciais alternativas, funciona apenas em máquinas remotas. Por alguma razão, WMI não vai deixar você executar um script com credenciais alternativas no seu próprio computador. Vai entender.

Agora vamos dar uma olhada na versão ADSI deste script. Este script de exemplo liga-se à conta de usuário Ken Myer no Active Directory e nos diz se esta conta está desativada. O script se conecta ao Active Directory usando o fabrikam \ Administrador , que tem uma senha de 4rTGh2 # 1 :

Const ADS_SECURE_AUTHENTICATION = 1 = 2 Const ADS_USE_ENCRYPTION strPath = "LDAP: / / cn = kenmyer, ou = Finance, dc = fabrikam, dc = com" strUser = "fabrikam \ Administrator" strPassword = "4rTGh2 # 1" Set objDSO = GetObject ( "LDAP:") Set objUser = objDSO.OpenDSObject Wscript.Echo _ (strPath, strUser, strPassword, _ ADS_USE_ENCRYPTION OU ADS_SECURE_AUTHENTICATION) objUser.AccountDisabled

Neste script, criamos duas constantes (ADS_SECURE_AUTHENTICATION e ADS_USE_ENCRYPTION) para garantir que as informações transmitidas entre o nosso computador eo domínio é criptografada. Em seguida, criamos três variáveis ​​- strPath, strUser e strPassword – que sediar o ADsPath para o objeto que deseja vincular a no Active Directory (neste caso, a conta de usuário Ken Myer); o nome da conta que deseja usar ao ligar a Active Directory; ea senha para essa conta.

Em seguida, ligar para o provedor LDAP; começamos aqui porque o provedor LDAP aceita ligações anônimas. Tendo conectado ao objeto LDAP, podemos então chamar o método OpenDSObject para vincular a conta do usuário Ken Myer. Note-se que devemos passar OpenDSObject quatro parâmetros: a ADsPath ao objeto do Active Directory, o nome do usuário que deseja usar ao conectar ao Active Directory; a senha para essa conta, e as duas constantes que definimos anteriormente. Tal como acontece com WMI, assim que fazer a conexão, o resto do script é o mesmo que qualquer script ADSI outros.

By the way, OpenDSObject também funciona com contas de usuário local; a principal diferença é que você ligar para o provedor WinNT em vez do provedor LDAP (e, claro, o ADsPath será diferente). Aqui estão as linhas relevantes do código de um script que se conecta a um computador local:

strComputer = "WinNT: / / atl-ws-01" strUser = "Administrador" strPassword = "4rTGh2 # 1" Set objDSO = GetObject ("WinNT:") Set objComputer objDSO.OpenDSObject = _ (strComputer, strUser, strPassword, _ ADS_SECURE_AUTHENTICATION OU ADS_USE_ENCRYPTION)

Uma coisa que devemos acrescentar é que nós não recomendamos que você codificar senhas (passwords especialmente Administrator) em seus scripts. Em vez disso, você deve fazer concessões para digitar a senha como um argumento de linha de comando ou através de uma caixa de entrada ou o que funciona melhor para você.

Sobre Ulisses Poveda do Nascimento
Sou um rapaz comum com potencial, dedicado, atencioso e acima de tudo com respeito ao próximo. O Resto são qualidades que aprendi com a vida, com esforço e ainda estou em pleno desenvolvimento profissional e pessoal. ** Nunca paramos de Estudar e sempre em busca do Crescimento Pessoal e Profissional. **

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: