ConvertTo-SecureString
Converte strings padrão criptografadas em strings seguras. Ele também pode converter texto sem formatação em strings seguras. É usado com ConvertFrom-SecureString e Read-Host.
Sintaxe
ConvertTo-SecureString [-Key <Byte[]>] [-String] <string> [<CommonParameters>] ConvertTo-SecureString [-AsPlainText] [-Force] [-String] <string> [<CommonParameters>] ConvertTo-SecureString [[-SecureKey] <SecureString>] [-String] <string> [<CommonParameters>]
Descrição
O cmdlet ConvertTo-SecureString converte strings padrão criptografadas em strings seguras. Ele também pode converter texto sem formatação em strings seguras. É usado com ConvertFrom-SecureString e Read-Host. A string segura, criada pelo cmdlet, pode ser usada com cmdlets ou funções que requerem um parâmetro do tipo SecureString. A string segura pode ser novamente convertida em uma string padrão criptografada usando o cmdlet ConvertFrom-SecureString. Isso permite que ela seja armazenada em um arquivo para ser usada posteriormente.
Se a string padrão que está sendo convertida tiver sido criptografada com ConvertFrom-SecureString usando uma chave especificada, essa mesma chave deverá ser fornecida como o valor do parâmetro Key ou SecureKey do cmdlet ConvertTo-SecureString.
Parâmetros
-AsPlainText
Especifica uma string de texto sem formatação a ser convertida em uma string segura. Os cmdlets de string segura ajudam a proteger texto confidencial. O texto é criptografado para fins de privacidade e, depois que é usado, ele é excluído da memória do computador. Se você usar esse parâmetro para fornecer o texto sem formatação como entrada, o sistema não poderá proteger a entrada dessa maneira. Para usar esse parâmetro, especifique também o parâmetro Force.
Necessário? | false |
Posição? | 2 |
Valor padrão | |
Aceitar entrada do pipeline? | false |
Aceitar caracteres curinga? | false |
-Force
Confirma que você compreende as implicações de uso do parâmetro AsPlainText e ainda deseja usá-lo.
Necessário? | false |
Posição? | 3 |
Valor padrão | |
Aceitar entrada do pipeline? | false |
Aceitar caracteres curinga? | false |
-Key <Byte[]>
Especifica a chave de criptografia a ser usada durante a conversão de uma string segura em uma string padrão criptografada. Os tamanhos de chave válidos são 16, 24 e 32 bytes.
Necessário? | false |
Posição? | named |
Valor padrão | |
Aceitar entrada do pipeline? | false |
Aceitar caracteres curinga? | false |
-SecureKey <SecureString>
Especifica a chave de criptografia a ser usada durante a conversão de uma string segura em uma string padrão criptografada. A chave deve ser fornecida no formato de uma string segura. A string é convertida em uma matriz de bytes antes de ser usada como a chave. Os tamanhos de chave válidos são 16, 24 e 32 bytes.
Necessário? | false |
Posição? | 2 |
Valor padrão | |
Aceitar entrada do pipeline? | false |
Aceitar caracteres curinga? | false |
-String <string>
Especifica a string a ser convertida em uma string segura.
Necessário? | true |
Posição? | 1 |
Valor padrão | |
Aceitar entrada do pipeline? | true (ByValue) |
Aceitar caracteres curinga? | false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas | System.String
Também é possível enviar uma string criptografada padrão para ConvertTo-SecureString. |
Saídas | System.Security.SecureString
ConvertTo-SecureString retorna um objeto SecureString. |
Exemplo 1
C:\PS>$secure = read-host -assecurestring C:\PS> $secure System.Security.SecureString C:\PS> $encrypted = convertfrom-securestring -securestring $secure C:\PS> $encrypted 01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7 efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd 6eb67aae41 C:\PS> $secure2 = convertto-securestring -string $encrypted C:\PS> $secure2 System.Security.SecureString Descrição ----------- Este exemplo mostra como criar uma string segura a partir da entrada do usuário, convertê-la em uma string criptografada padrão e, em seguida, converter novamente a string criptografada padrão em uma cadeia segura. O primeiro comando usa o parâmetro AsSecureString do cmdlet Read-Host para criar uma string segura. Depois que você digitar o comando, os caracteres digitados serão convertidos em uma string segura e salvos na variável $secure. O segundo comando exibe o conteúdo da variável $secure. Como a variável $secure contém uma string segura, o Windows PowerShell exibe apenas o tipo System.Security.SecureString. O terceiro comando usa o cmdlet ConvertFrom-SecureString para converter a string segura na variável $secure em uma string criptografada padrão. Ele salva o resultado na variável $encrypted. O quarto comando exibe a string criptografada no valor da variável $encrypted. O quinto comando usa o cmdlet ConvertTo-SecureString para converter a string criptografa padrão na variável $encrypted em uma string segura. Ele salva o resultado na variável $secure2. O sexto comando exibe o valor da variável $secure2. O tipo SecureString indica que o comando obteve êxito.
Exemplo 2
C:\PS>$secure = read-host -assecurestring C:\PS> $encrypted = convertfrom-securestring -secureString $secure -key (1..16) C:\PS> $encrypted | set-content encrypted.txt C:\PS> $secure2 = get-content encrypted.txt | convertto-securestring -key (1..16) Descrição ----------- Este exemplo mostra como criar uma string segura a partir de uma string criptografada padrão salva em um arquivo. O primeiro comando usa o parâmetro AsSecureString do cmdlet Read-Host para criar uma string segura. Depois que você digitar o comando, os caracteres digitados serão convertidos em uma string segura e salvos na variável $secure. O segundo comando usa o cmdlet ConvertFrom-SecureString para converter a string segura na variável $secure em uma string criptografada padrão, usando a chave especificada. O conteúdo é salvo na variável $encrypted. O terceiro comando usa um operador de pipeline (|) para enviar o valor da variável $encrypted para o cmdlet Set-Content, que salva o valor no arquivo Encrypted.txt. O quarto comando usa o cmdlet Get-Content para obter a string criptografada padrão no arquivo Encrypted.txt. O comando usa um operador de pipeline para enviar a string criptografada ao cmdlet ConvertTo-SecureString, que a converte em uma string segura usando a chave especificada. Os resultados são salvos na variável $secure2.
Exemplo 3
C:\PS>$secure_string_pwd = convertto-securestring "P@ssW0rD!" -asplaintext -force Descrição ----------- Esse comando converte a string de texto sem formatação, "P@ssW0rD!", em uma string segura e armazena o resultado na variável $secure_string_pwd. Para usar o parâmetro AsPlainText, o parâmetro Force também deve ser incluído no comando.