Sitecore Powershell Extensions: Como elevar a sua sessão sem fornecer as credencias

No post de hoje nós vamos revisar uma funcionalidade interessate do módulo Sitecore Powershell Extensions: Como elevar a tua sessão sem fornecer as tuas credenciais. Para este post eu estou utilizando a versão  4.4.1.29973 do módulo e a versão 8.2 de Sitecore.

A idéia deste post veio quando eu estava desenvolvendo um script usando SPE e toda vez que eu queria rodar o script aparecia o pop-up pedindo pela minha senha, conforme mostra abaixo:

Eu pensei comigo mesmo “Deve haver alguma forma de não precisar fornecer as minhas credenciais toda vez que eu rodo o script, já que eu estou desenvolvendo e quero testar apenas”. E eu descobri que tem como.

Porém esse pop-up existe por um motivo e você deve ter isso em consideração. Mas se você estiver desenvolvendo no seu ambiente e você sabe o que está fazendo, continue lendo 🙂

Neste exemplo eu estou logado como admin o que já me daria permissões elevadas correto? O que mais eu preciso fazer?

 

Existe uma seção no arquivo de configuração “Cognifide.PowerShell.config” que essencialmente define esse comportamento:

<userAccountControl>
<gates>

<gate name=”Console” token=”Console”/>
<gate name=”ISE” token=”ISE”/>
<gate name=”ItemSave” token=”ItemSave”/>
</gates>
<tokens>

<token name=”Default” expiration=”00:00:00″ elevationAction=”Block”/>
<token name=”Console” expiration=”00:05:00″ elevationAction=”Password”/>
<token name=”ISE” expiration=”00:05:00″ elevationAction=”Password”/>
<token name=”ItemSave” expiration=”00:05:00″ elevationAction=”Password”/>
</tokens>
</userAccountControl>

Talvez você esteja se perguntando o que são gates e tokens. Se estiver, sugiro a leitura desse link.

Existem então essencialmente duas formas de elevar a sessão. Uma é aumentar o tempo de expiração do token ISE, por exemplo para algumas horas ou dias. Mas você terá que fornecer a sua senha pelo menos uma vez. Ou você pode essencialmente mudar o valor do atributo “elevationAction”.

No caso acima, o valor está definido como “Password” o que significa que você tem que fornecer uma senha. Os outros valores permitidos são Block e Allow.

Se você definir como Block, a execução do seu código será bloqueada, mesmo que forneça uma senha valida. Você vai receber a seguinte mensagem:

 

O que você deve usar nesse caso é Allow. Com isso você conseguirá rodar os scripts quantas vezes quiser sem precisar fornecer a sua senha a cada vez.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s