Powershell: ConvertFrom-SecureString рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЕрдЧре░ 2016  ┬╖  62рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PowerShell/PowerShell

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

  1. Ubuntu 14.04 рдкрд░ PowerShell рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  2. PowerShell рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
  3. рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд▓рд╛рдПрдБ:
   $password = Convertto-Securestring -String "PowerShellRocks!" -AsPlainText -Force
   ConvertFrom-SecureString $password  

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╣реИ

PS /home/chythu/temp> ConvertFrom-SecureString $password                        ConvertFrom-SecureString : Unable to load DLL 'CRYPT32.dll': The specified
module could not be found.
 (Exception from HRESULT: 0x8007007E)
At line:1 char:1
- ConvertFrom-SecureString $password
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  - CategoryInfo          : NotSpecified: (:) [ConvertFrom-SecureString], Dl
    lNotFoundException
  - FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell
    .Commands.ConvertFromSecureStringCommand

рдкрд░реНрдпрд╛рд╡рд░рдг рдбреЗрдЯрд╛

Name                           Value
---
PSVersion                      5.1.10032.0
PSEdition                      PowerShellCore
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   3.0.0.0
GitCommitId                    v6.0.0-alpha.7
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

2016-04-10 рдХреЛ

рдкрд░реНрдпрд╛рд╡рд░рдг рдбреЗрдЯрд╛

> $PSVersionTable
Name                           Value                                           
----                           -----                                           
PSVersion                      6.0.2                                           
PSEdition                      Core                                            
GitCommitId                    v6.0.2                                          
OS                             Darwin 17.5.0 Darwin Kernel Version 17.5.0: M...
Platform                       Unix                                            
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                         
PSRemotingProtocolVersion      2.3                                             
SerializationVersion           1.1.0.1                                         
WSManStackVersion              3.0                                             


рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
`` `Powershell

рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП

$ рдХреБрдВрдЬреА = (3,4,2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43)
$ s | ConvertFrom-SecureString -Key $ рдХреБрдВрдЬреА
`` `

Area-Cmdlets Issue-Bug OS-Linux OS-macOS Resolution-Fixed

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ (рдФрд░ рдкреЙрд╡рд░рд╢реЗрд▓) рдХреЛ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрдЯрд╛ рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЗрд╡ / рдСрдкреНрд╕ рдХреЛ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рд╣рдо рдорд┐рд╢реНрд░рдг рдореЗрдВ рдирдП рдУрдПрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдЕрдЪрд╛рдирдХ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддреЗ рдереЗ, рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ Azure KeyVault, RED Identity management, рдпрд╛ Thycotic Secret Server рдЬреИрд╕реА рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред ЁЯШХ

.NET рдЯреАрдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд╣рд╛рдпрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ ASP.NET рдиреЗ рдЕрдкрдирд╛ DataProtection рд╕рд╛рдорд╛рди рд▓рд┐рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдЕрдЬреАрдм рд╣реИ рдФрд░ рд╡реЗ рдЗрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ ...

рд╣рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП:

рдХреНрдпрд╛ PowerShell рдЯреАрдо SecureString рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реА рд╣реИ?

рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрди cmdlets рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ CliXML рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, "рдУрд╣ рдбрд╛рд░рди, рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛ рдбреАрдПрд▓рдПрд▓ рдЙрдкрд▓рдмреНрдз рдерд╛" рддреНрд░реБрдЯрд┐ред

рд╕рднреА 62 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

https://github.com/PowerShell/PowerShell/blob/master/src/System.Management.Automation/security/SecureStringHelper.cs#L449

рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CoreCLR рдХреА рдХрдореА рд╣реИред

@ рдХреГрд╖реНрдгрд╛-рдПрдордПрд╕рдПрдлрдЯреА рд╕реЗ рдмрд╛рдд рдХреА рдЧрдИред рдПрдЬрд╝реНрдпреЛрд░ рдбреЗрдореЛ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдЕрд▓реНрдлрд╛ 10 рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдирд╛

MacOS 10.12 рдмреАрдЯрд╛ (16A270f) рдкрд░ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдЖрдпрд╛

рдмрд╕ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рд░рд╣реА рдереА рдпрд╣ рдорд┐рд▓рд╛:

PS> $User="Jared"
PS> $PWord = ConvertTo-SecureString тАУString "TestString" тАУAsPlainText -Force   
PS> $Cred = New-Object -TypeName "System.Management.Automation.PSCredential" тАУArgumentList $User, $PWord
PS> ConvertFrom-SecureString -SecureString ($Cred.Password)

рдкрд░рд┐рдгрд╛рдо:

ConvertFrom-SecureString : Unable to load DLL 'CRYPT32.dll': The specified module could not be found.
 (Exception from HRESULT: 0x8007007E)
At line:1 char:1
+ ConvertFrom-SecureString -SecureString ($Cred.Password)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-SecureString], DllNotFoundException
    + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.ConvertFromSecureStringComman

рдирдорд╕реНрддреЗ,

рдореИрдк рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреНрд░реБрдЯрд┐: psdrive:

Get-ChildItem Cert:/LocalMachine/

рддреНрд░реБрдЯрд┐:

get-childitem: DLL 'crypt32.dll' рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛ред
(HRESULT рд╕реЗ рдЕрдкрд╡рд╛рдж: 0x8007007E)
рд▓рд╛рдЗрди рдореЗрдВ: 1 рдЪрд╛рд░: 1

  • рдЧреЗрдЯ-рдЪрд╛рдЗрд▓реНрдбрд┐рдЯреЗрдо рдкреНрд░рдорд╛рдг рдкрддреНрд░: / LocalMachine /
  • ~ ~ ~ ~ ~ ~ ~ ~~~

    • рд╢реНрд░реЗрдгреАрдЗрдиреНрдлреЛ: рдЕрдзрд┐рд╕реВрдЪрд┐рдд: (:) [рд╕рдВрддрд╛рди рдкреНрд░рд╛рдкреНрддрд┐], DllNotFoundException

    • FullQualifiedErrorId: System.DllNotFoundException, Microsoft.PowerShell.Commands.GetChildItemCommand

@ 35359595 рдЕрдЪреНрдЫреА рдЦреЛрдЬ! рддреНрд░реБрдЯрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд┐рддреНрд░рд╡рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд▓рд┐рдирдХреНрд╕ рдФрд░ macOS рдкрд░ Cert:/ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпреЗ рджреЛрдиреЛрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░реЛрдЪ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдПрдХ-рджреВрд╕рд░реЗ рдФрд░ рд╡рд┐рдВрдбреЛ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рд╣реИред

Fyi, 16.04.1 PowerShell v6 рдЕрд▓реНрдлрд╝рд╛ 14 рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдпрд╣ рдореБрдЭреЗ рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд▓рд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЛ рд╕рднреА рдУрдПрд╕ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬред

рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдХреЗрд╡рд▓ .NET рдорд╛рдирдХ 2.0 API рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдЬреЛ SecureString рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдПрдЧрд╛:

  • CoreFX рдЕрдВрдХ: рдбреЙрдЯрдиреЗрдЯ / рдХреЛрд░рдлреИрдХреНрд╕ # 13062
  • CoreFX 2.0 PR: dotnet / corefx # 13362

ConvertFrom-SecureString рдФрд░ ConvertTo-SecureString System.Security.Cryptography.ProtectedData рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрднреА рднреА netstandard2.0 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдЗрди 2 cmdlets рдХреЛ рдпреВрдирд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдЧрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдиреЗрдЯ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЖрддреА рд╣реИ рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛
рд╣рдо WinRM рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PSCredential рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдпрд╛ рдореИрдХрдУрдПрд╕ рдкрд░ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛ рдЕрднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рд╣рдореЗрдВ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИред

рддреНрд░реБрдЯрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:
ConvertTo-SecureString: DLL 'CRYPT32.dll' рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
(HRESULT рд╕реЗ рдЕрдкрд╡рд╛рдж: 0x8007007E)

@ reddwarf666 рдкреИрдХреЗрдЬ System.Security.Cryptography.ProtectedData nuget.org рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ netstandard2.0 рд╢рд┐рдХрд╛рдпрдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдореЗрдВ рдпреВрдирд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдпреВрдирд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП 'PlatformNotSupportedException' рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдпреВрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП ConvertFrom/ConvertTo-SecureString рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдпреВрдирд┐рдХреНрд╕ рдкрд░ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ .NET рдХреЛрд░ рдЯреАрдо рд╕реЗ рдХреБрдЫ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред / cc @joeyaiello

рдХреНрдпрд╛ [System.Runtime.InteropServices.Marshal] :: SecureStringToBSTR рдФрд░ [System.Runtime.InteropServices.Marshal] :: PtrToStringAuto рд╕рдВрднрд╡рддрдГ рд╕рд╡рд╛рд░реА рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВ?

рдЕрднреА рднреА рдореИрдХ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ 6.0.0-beta3 рдкрд░ рдЗрд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП рд╕рд┐рдХреНрдпреЛрд░рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ cmdlets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

ConvertFrom-SecureString: DLL 'CRYPT32.dll' рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: рдирд┐рд░реНрджрд┐рд╖реНрдЯ
рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдЗрд╕рдХреА рдХреЛрдИ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХреАред
(HRESULT рд╕реЗ рдЕрдкрд╡рд╛рдж: 0x8007007E)

linux debian (jessie 64bit) рдкрд░ Convertfrom-securestring рдФрд░ Convertto-securestring (v6.0.0-beta.3) рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рднреА рдРрд╕рд╛ рд╣реА рд╣реИ:

PS /> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-beta
PSEdition                      Core
GitCommitId                    v6.0.0-beta.3
OS                             Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

PS />

PS /> read-host -assecurestring | convertfrom-securestring | out-file securestring.txt
********
convertfrom-securestring : Unable to load DLL 'CRYPT32.dll': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
At line:1 char:29
+ read-host -assecurestring | convertfrom-securestring | out-file secur ...
+                             ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-SecureString], DllNotFoundException
    + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.ConvertFromSecureStringCommand



md5-0a78a142751a1081c46c48e10b6cba93



PS /> $pass = cat securestring.txt | convertto-securestring
convertto-securestring : Unable to load DLL 'CRYPT32.dll': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
At line:1 char:32
+ $pass = cat securestring.txt | convertto-securestring
+                                ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertTo-SecureString], DllNotFoundException
    + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand



md5-25ce90db07e4f9f61b58abd5cf739027



PS /> [Reflection.Assembly]::LoadFrom("CRYPT32.dll")
Exception calling "LoadFrom" with "1" argument(s): "Bad IL format."
At line:1 char:1
+ [Reflection.Assembly]::LoadFrom("CRYPT32.dll")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : BadImageFormatException



md5-0a78a142751a1081c46c48e10b6cba93



PS /> Add-Type -Path 'CRYPT32.dll'
Add-Type : Bad IL format.
At line:1 char:1
+ Add-Type -Path 'CRYPT32.dll'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-Type], BadImageFormatException
    + FullyQualifiedErrorId : System.BadImageFormatException,Microsoft.PowerShell.Commands.AddTypeCommand

рдХреЙрдкреА рдХрд░рдиреЗ / рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП / Microsoft / powershell/6.0.0-beta.3/ рдФрд░ рдЬрдм рдкреВрд░реНрдг рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╕рдВрднрд╡ рд╣реИ / рдЬреНрдЮрд╛рдд рд╣реИ рдпрд╛ рдХреНрдпрд╛ рд╣рдореЗрдВ рдпрд╣ рддрдп рд╣реЛрдиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

@vchrizz рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдпреВрдирд┐рдХреНрд╕ рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдпреВрдирд┐рдХреНрд╕ рдкрд░ рд╡рд┐рдВрдбреЛрдЬ

@iSazonov рдореИрдВ рдЗрд╕рд╕реЗ рд╡рд╛рдХрд┐рдл рдерд╛, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред /ред
linuxред dll рдлрд╛рдЗрд▓реЗрдВ:
"PE32 рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (DLL) (рдХрдВрд╕реЛрд▓) рдЗрдВрдЯреЗрд▓ 80386 рдореЛрдиреЛ / .рдиреЗрдЯ рдЕрд╕реЗрдВрдмрд▓реА, рдПрдордПрд╕ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП"
"PE32 + рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (DLL) (рдХрдВрд╕реЛрд▓) рдореЛрдиреЛ / .рдиреЗрдЯ рдЕрд╕реЗрдВрдмрд▓реА, рдПрдордПрд╕ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП"
рд╡рд┐рдВрдбреЛрдЬрд╝ CRYPT32.dll рдлрд╝рд╛рдЗрд▓:
"MS32 рдХреЗ рд▓рд┐рдП PE32 рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (DLL) (GUI) рдЗрдВрдЯреЗрд▓ 80386,"

рдЕрдм рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдПрдХреНрд╕рдкреЛрд░реНрдЯ-рдХреНрд▓рд┐рдХреНрд╕рд▓реИрдо рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ:

PS /> $cred=Get-Credential тАУcredential "myuser" | Export-Clixml SecureCredentials.xml

Windows PowerShell credential request
Enter your credentials.
Password for user myuser: **********

Export-Clixml : Unable to load DLL 'CRYPT32.dll': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
At line:1 char:45
+ ... Credential тАУcredential "myuser" | Export-Clixml SecureCredentials.xml
+                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Export-Clixml], DllNotFoundException
    + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.ExportClixmlCommand

@vchrizz рд╡рд░реНрддрдорд╛рди рдореЗрдВ .Net CLI рд╕рднреА рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рдпреВрдирд┐рдХреНрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред # 3961 рдпреВрдирд┐рдХреНрд╕ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИред

@ daxian-dbw рдбреЗрдЯрд╛ рдХреА рд░рдХреНрд╖рд╛ / рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо OpenSSH рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмрд▓реНрдХрд┐ рд╣рдо рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдмрд╛рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреБрдЧреЗрдЯ рдЯреАрдо рднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реА рд╣реИред

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА, рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирдЧреЗрдЯ рдЯреАрдо рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдиреБрдЧреЗрдЯ / рд╣реЛрдо # 1851), рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╡рд╣ рдерд╛ рдЬреЛ рдПрдХ рд▓рд╛рдкрддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рд▓рд╛рдпрд╛ рдерд╛

@ SteveL-MSFT @psmulovics рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CoreFX рдЯреАрдо рдмрдВрдж рдореБрджреНрджреЛрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ - рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ https://github.com/dotnet/corefx/issues/22510

рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛! ЁЯШД рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрддреНрддрд░ рд╣реИ:

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП OS рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
..
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .NET Core рдореЗрдВ рдЬреЛ рд╣реИ рд╡рд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдпрд╣ рдбреАрдкреАрдПрдкреАрдЖрдИ рдЬреЛ рднреА рдХрд░рддрд╛ рд╣реИред рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдпрд╣ рдЙрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдбреАрдкреАрдПрдкреАрдЖрдИ рдХрд░рддрд╛ рд╣реИ: рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдкреИрдХреЗрдЬ System.Security.Cryptography.ProtectedData рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЕрдиреНрдп рдкреНрд▓рд╛рдирдлреЙрд░реНрдо рдкрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВред
  2. рдЕрдиреНрдп рдкреНрд▓рд╛рдирдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдмрдирд╛рдПрдВред - рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЗрд╢реНрдпреВ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдорд╛рдорд▓реЗ рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@iSazonov рд╡рд┐рдХрд▓реНрдк 2 рднреА System.Runtime.InteropServices.Marshal рдореЗрдВ рд▓рд╛рдПрдЧрд╛?

@iSazonov рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд░реНрдл рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдпрд╣ рдХреЛрдИ рдЫреЛрдЯрд╛ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ 6.1.0 рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВрдЧреЗ

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА рд╡рд┐рдВрдбреЛрдЬ рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдЬ System.Security.Cryptography.ProtectedData рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред

@ngetchell CoreFX рдЗрд╢реНрдпреВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо CoreFX рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рджреВрд░рд╕реНрде рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

@iSazonov рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдмреАрдЯрд╛.4 рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд▓рд┐рдП

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА рдиреЗ рдЕрд╢реБрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд┐рдпрд╛, System.Security.Cryptography.ProtectedData рдХреЗ рддрд╣рдд I _ _CoreFX рдкреИрдХреЗрдЬ_ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рд╢реНрди рд╣реИ - рдХреНрдпрд╛ рд╣рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдХреЛрдб рдХреЛ рд╣рдЯрд╛рдХрд░ рдкреИрдХреЗрдЬ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рд╣рдореЗрдВ рдпреВрдирд┐рдХреНрд╕ рд╕реЗ * -SureureString cmdlets рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

@iSazonov рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЪреАрдЬрд╝ рд╣реИред cc @joeyaiello

рдмрд╕ рдЗрд╕ рдХрд╣рд╛рдиреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА _remove_ ConvertTo / ConvertFrom SecureString cmdlets рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?
рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд CliXml рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдФрд░ рд╕рд┐рдХреНрдпреЛрд░рд╕реНрдЯреНрд░реАрдо рдХреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдпреЗ рд╕рднреА рдЕрднреА рднреА HRFULT рд╕реЗ рдмрд╣реБрдд рд╣реА рдЕрдорд┐рддреНрд░ DllNotFoundException рдХреЛ рдлреЗрдВрдХ рд░рд╣реЗ рд╣реИрдВ ...

рдирд┐рд░реНрдпрд╛рдд-Clixml cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд▓рд┐рдирдХреНрд╕ рдкрд░ CRYPT32.dll рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред PS рд╕рдВрд╕реНрдХрд░рдг 6.0.0

рдореБрдЭреЗ рднреАред рдЪреВрдБрдХрд┐ рд╣рдо рдХреБрдЫ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирдирд╛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдпрджрд┐ pwsh рдпрд╛ CoreFX рдУрд░ рд╕реЗ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ( рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ)ред

@ рд╢рд╛рдпрдж рд╣рдо Windows рд╕рдВрдЧрддрддрд╛ рдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ

@iSazonov рдпрд╣ рдореЗрд░реА рд╕рдордЭ рд╣реИ рдХрд┐ SecureString рд╡рд┐рд╢рд┐рд╖реНрдЯ рдУрдПрд╕ рд╕рдорд░реНрдерди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрдЧрддрддрд╛ рдкреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рднрд▓реЗ рд╣реА рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рд╣рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпреВрдирд┐рдХреНрд╕ рдкрд░ * -рд╕реЗрдЪрд░рд░рд┐рдВрдЧ cmdlets рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдореИрдВ рдЗрд╕реЗ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдВ рдХрд┐ рдпрд╣ рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдХреНрдпреЛрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдпреВрдирд┐рдХреНрд╕ рдкрд░ рд▓рд╛рдкрддрд╛ "рдУрдПрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ" рднрд╛рдЧ рдХреНрдпрд╛ рд╣реИ?
рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рд╛рдиреЗ рдФрд░ рдЖрдЧреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдФрд░ рдХреИрд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CoreFX рдкрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ: https://github.com/dotnet/corefx/issues/22510
рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред

рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛рддрд╛ рд╣реИред

@ рд╕реНрдЯреАрд╡рдПрд▓-рдПрдордПрд╕рдПрдлрдЯреА рдбрдмреНрд▓реНрдпреВрд╕реАрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { ... }
рдпрджрд┐ WCP рдореЗрдВ рдХреБрдЫ API рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рддреЛ рд╣рдо WCP рд░реЗрдкреЛ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рднреА рд╣рдо #if !UNIX рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП @iSazonov рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ WCP рдЗрд╕реЗ рд╣рд▓ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдХреНрдпреЛрд░рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

рдореБрдЭреЗ рд╡реИрд╕реЗ рднреА рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред ЁЯШД

рдареАрдХ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕реАрдзреЗ рдорд┐рд▓ рдЧрдпрд╛ рд╣реВрдБ ...

  1. рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕рд┐рд╡рд╛рдп рд╕рд┐рдХреНрдпреЛрд░рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдерд╛ред
  2. рдкреЙрд╡рд░рд╢реЗрд▓ рдЯреАрдо рдиреЗ рдЗрд╕рдХрд╛ рдордЬрд╝рд╛рдХ рдЙрдбрд╝рд╛рдпрд╛, рддрд╛рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рд╕рднреА рдПрдкреАрдЖрдИ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХреЗрдВ, рдЬрд┐рдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  3. рдлрд┐рд░ .NET рдЯреАрдо рдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдЗрди-рдореЗрдореЛрд░реА рд╕реБрд░рдХреНрд╖рд╛
  4. рдЗрд╕рд▓рд┐рдП Windows рдкрд░ рдЫреЛрдбрд╝рдХрд░, (рдореЗрдВ) SecureString рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкреВрд░реНрдг рдлрд╝рдВрдХреНрд╢рди рдЕрдм рдХреЗрд╡рд▓ Windows рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рдЬрдЧрд╣ рдЙрдЬрд╛рдЧрд░ рд╣реЛрддрд╛ рд╣реИ ...

18 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдЗрд╕ рдХреА рд╢реБрд░реБрдЖрддреА рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд╛рд╡рдЬреВрдж

6 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рдЯреАрдо рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ_ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рд╡рдЬреВрджред

ЁЯЩД

рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ (рдФрд░ рдкреЙрд╡рд░рд╢реЗрд▓) рдХреЛ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрдЯрд╛ рдкреНрд░реЛрдЯреЗрдХреНрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЗрд╡ / рдСрдкреНрд╕ рдХреЛ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рд╣рдо рдорд┐рд╢реНрд░рдг рдореЗрдВ рдирдП рдУрдПрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдЕрдЪрд╛рдирдХ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддреЗ рдереЗ, рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ Azure KeyVault, RED Identity management, рдпрд╛ Thycotic Secret Server рдЬреИрд╕реА рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред ЁЯШХ

.NET рдЯреАрдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд╣рд╛рдпрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ ASP.NET рдиреЗ рдЕрдкрдирд╛ DataProtection рд╕рд╛рдорд╛рди рд▓рд┐рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдЕрдЬреАрдм рд╣реИ рдФрд░ рд╡реЗ рдЗрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ ...

рд╣рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП:

рдХреНрдпрд╛ PowerShell рдЯреАрдо SecureString рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реА рд╣реИ?

рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрди cmdlets рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ CliXML рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, "рдУрд╣ рдбрд╛рд░рди, рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛ рдбреАрдПрд▓рдПрд▓ рдЙрдкрд▓рдмреНрдз рдерд╛" рддреНрд░реБрдЯрд┐ред

рд╕рдВрдмрдВрдзрд┐рдд рдЖрдЗрдЯрдо рджреЗрдЦреЗрдВ:
NuGet / рд╣реЛрдо # 1851
рдбреЙрдЯрдиреИрдЯ / corefx # 6746

рд╣рдо ASP.NET DataProtection рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ рдЬреЛ рдЖрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЦрд╛рд╕рддреМрд░ рдкрд░ рддрдм рдЬрдмрдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреА рдХрд╛рдлреА рдЬрд░реВрд░рдд рд╣реИред

рдореИрдВ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдПрдХ MySQL рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрд┐ рдореИрдВ рдХрдВрд╕реЛрд▓ рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдирд╣реАрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВ?

рд░реЗрдкреНрд░реЛ рд╕реНрдЯреЗрдкреНрд╕

$str = Read-Host -AsSecureString
ConvertFrom-SecureString -SecureString $str

рдкрд░рд┐рдгрд╛рдо

ConvertFrom-SecureString : Unable to load DLL 'CRYPT32.dll': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
At line:1 char:1
+ ConvertFrom-SecureString -SecureString $str
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [ConvertFrom-SecureString], DllNotFoundException
+ FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.ConvertFromSecureStringCommand

@ pcgeek86 рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рд╕рд╛рджрд╛ рдкрд╛рда рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ linux рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

$str = Read-Host -AsSecureString
$plaintext = [System.Net.NetworkCredential]::new('',$str).Password

рдореИрдВрдиреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдПрдХ рдФрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЬреЛрдбрд╝рд╛

рд▓рд┐рдирдХреНрд╕ рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдХрд╛рдлреА рдЧрдбрд╝рдмрдбрд╝ рд▓рдЧрддрд╛ рд╣реИред рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдкреНрд░рдпрд╛рд╕ рдФрд░ рдкреБрд░рд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Gnome рдЧреБрдкреНрдд рд╕реЗрд╡рд╛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдХрд░ рд░рд╣рд╛ libsecret рдХреЛ рд╕реАрдХреНрд░реЗрдЯ рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд╣рд╕реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рдЧрддрд╛ рд╣реИред

Mac OS X Keychain рдХреЗ рд╕рд╛рде security рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ Keychain рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

QtKeychain рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реНрд╡рддрдВрддреНрд░ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рд╕реАрдХреНрд░реЗрдЯ рдореИрдиреЗрдЬрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ (libsecret рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), Mac OS X (рдХреБрдВрдЬреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ Windows (Windows рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рд╕рдВрднрд╡рддрдГ PowerShell рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм рд╣реИред рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдПрдХ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЬрдм рддрдХ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдпрд╣рд╛рдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЬреЙрдм рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ:


$credentialKey = New-Object 'byte[]' (256/8)
$rng = New-Object 'Security.Cryptography.RNGCryptoServiceProvider'
$rng.GetBytes($credentialKey)

$serializableCredential = [pscustomobject]@{ 
                                                UserName = $credential.UserName;
                                                Password = ConvertFrom-SecureString -SecureString $credential.Password -Key $credentialKey
                                            }

$job = Start-Job {
    param(
        [Parameter(Mandatory)]
        [byte[]]
        $Key
    )
    $serializedCredential = $using:serializableCredential

    $password = ConvertTo-SecureString -String $serializedCredential.Password -Key $Key
    $credential = New-Object 'PSCredential' ($serializedCredential.UserName,$password)
    [Array]::Clear($Key,0,$Key.Length)
} -ArgumentList (,$credentialKey) | Wait-Job | Receive-Job

[Array]::Clear($credentialKey,0,$credentialKey.Length)

рдкрд╛рд╕рд╡рд░реНрдб = ConvertFrom-SecureString -SecureString $ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓редрдкрд╛рд╕рд╡рд░реНрдб -рдХреЗ $ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓рдХреЗ

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ?

рд╡реИрд╕реЗ рднреА, рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

ConvertFrom-SecureString : Cannot bind argument to parameter 'SecureString' because it is null.
At /home/myusername/powershell.ps1:7 char:99
+ ... = ConvertFrom-SecureString -SecureString $credential.Password -Key $c ...
+                                              ~~~~~~~~~~~~~~~~~~~~

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЪрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди:

ConvertFrom-SecureString : Cannot bind parameter 'SecureString'. Cannot convert the "testpassword" value of type "System.String" to type "System.Security.SecureString".

рдорд╛рдирд╕ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ? рд╕рднреА рдЦреЛрд▓реЗ рдЧрдП рдореБрджреНрджреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЕрд▓рдЧ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рдкрд░ CryptoAPI рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг PSRemote рдореБрдЦреНрдп рд╡рд┐рдирд┐рдордп рдХреЗ рджреМрд░рд╛рди рд▓рдЯрдХрд╛ рд░рд╣рддрд╛ рд╣реИред
рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ рд╡рд╣ рдпрд╣рд╛рдВ рд▓рдЯрдХрддрд╛ рд╣реИ https://github.com/PowerShell/PowerShell/blob/5ece96a37fc9bb5cb9cb962b32741b00396ae0f135/Src.anagement.Automation/utils/CryptoUtils.cs#L111717
Btw, рд╣рдо рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ securestring рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ ^ рдпрд╣ securestrings рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдХрд╛рдлреА рдХрдард┐рди рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЙрд╕реА рддрд░рд╣ рд▓рдЯрдХрд╛ рд░рд╣рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ConvertFrom-SecureString рдХрдорд╛рдВрдбрд▓реЗрдЯ рдХреЛ рдареАрдХ рдХрд┐рдП рдмрд┐рдирд╛ psremoting рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдорд╢реАрди рдкрд░ рдЪрд╛рдмрд┐рдпрд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ rsa 2048 рдХреАрд╕ рдЬреЛрдбрд╝реА, рдХреНрд░рд┐рдкреНрдЯ / рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ rsa, рдХреНрд░рд┐рдкреНрдЯ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ AES CBC рдХреНрд░реЙрд╕рд▓рдлреНрд░реЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХреБрдЫ рдЕрдЪреНрдЫреА рдЦрдмрд░реЗрдВ рдХреНрд░реЙрд╕рдкреНрд▓реЗрдЯ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИред
PSRemoting рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди
рдкреАрдПрд╕рдЖрд░рдкреА pypsrp рдХреЗ рдЕрдЬрдЧрд░ рддрд╛рдЬрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╣ securestrings рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ!

@KKomarov рдХреГрдкрдпрд╛ рд░реЗрдкреЛ рдЪрд░рдгреЛрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд╕рд╛рде рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

@KKomarov рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА https://github.com/PowerShell/PowerShell/issues/8723 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ PSCore6.2-RC рдореЗрдВ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд╛рд░ рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

DE0001: SecureString рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
https://github.com/dotnet/platform-compat/blob/master/docs/DE0001.md#de0001 -securestring-shouldnt-be-used

@iSazonov

DE0001: SecureString рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
https://github.com/dotnet/platform-compat/blob/master/docs/DE0001.md#de0001 -securestring-shouldnt-be-used

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рд╣рд╛рдереА рджрд╛рдВрдд рдЯреЙрд╡рд░ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдкреЙрд╡рд░реНрд╕рд╢реЗрд▓ рдореЗрдВ рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕ рднреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрд╡реЗрджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдПрдкреАрдЖрдИ, рд╡рд┐рд░рд╛рд╕рдд рдЖрд╡реЗрджрди рдЬреЛ рдХреЗрд╡рд▓ рдореВрд▓ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЖрджрд┐ред "рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдпрд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░" рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдПрдХ рдирдпрд╛ рдРрдк рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ PSCredential рдХрд╣реАрдВ рднреА рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ SecureString рдХрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .net рдХреЛрд░ рдореЗрдВ рдХреБрдЫ рд╣реИ рдЬреЛ рдХрд┐ рдЪрд╛рдмрд┐рдпреЛрдВ рдпрд╛ рдХреБрдЫ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TPM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ "рдЕрдЪреНрдЫреЗ рдкрд░реНрдпрд╛рдкреНрдд" рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

AES256 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рд╣реЛрдиреЗ рдХреА рддрд░рд╣ рдХреБрдЫ рдиреЙрди-рд╡рд┐рдВрдбреЛрдЬ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ 600 рдЕрдиреБрдорддрд┐-рдПрдб рдлрд╝рд╛рдЗрд▓ рд╣реЛрдирд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╢реБрд░реБрдЖрдд рд╣реИ, рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХреНрд░рд┐рдкреНрдЯреЛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рд╛ред

рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ:

  1. SecureString рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ System.Security.Cryptography.ProtectedData рдХреЗрд╡рд▓ Windows рд╣реИред рдПрдкреАрдЖрдИ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдХреЛрд░ рдЯреАрдо рдПрдкреАрдЖрдИ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред
  2. рд╣рдо Windows рдкрд░ SecureString рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рд░реАрдореЛрдЯрд┐рдВрдЧ рд╕рд╣рд┐рдд)
  3. PowerShell Core рдХреЛ рд▓рдЪреАрд▓рд╛ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд┐рд░рд╛рд╕рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
  4. рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдореВрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ
  5. рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрд░рдХреНрд╖рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдмрдирд╛рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП (рдореВрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд░реЛрдХрд╛ рдЬрд╛рдП, рдХреЗрд╡рд▓ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЬрд╛рдП, ...)ред

рд╢реБрд░реВ рдореЗрдВ, @ PowerShell / powershell-рд╕рдорд┐рддрд┐ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдПрдХ SensitiveString рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреА рдЬрд░реВрд░рдд рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП SecureString рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреЛрдиреЛрдВ рд╕реБрд░рдХреНрд╖рд┐рдд (рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ SecureString рдкреНрд░рдХрд╛рд░ рдЕрднреА рднреА рдЬрд░реВрд░рдд рд╣реЛрдЧреА рдкреАрдЫреЗ рдХреЗ рд▓рд┐рдП)ред рдПрдХ рдкреНрд░рдХрд╛рд░ (рдЪрд╛рд╣реЗ "рд╕рдВрд╡реЗрджрдирд╢реАрд▓" рдпрд╛ "рд╕рд┐рдХреНрдпреЛрд░" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЛ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╢реАрдШреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХреЗрд╡рд▓ рд░реАрдореЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмрдЧ рдХреЗ рдореВрд▓ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдЕрдм рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ), рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ SecureString рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╛рджреЗ рдкрд╛рда рдореЗрдВ рд╣реИред

рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ!
рдХреНрдпрд╛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рдордп-рд╕реАрдорд╛ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдХрд┐ microsoft-debian-stretch-prod debian repository)?

рдЗрд╕ рдмрдЧ рдХреЗ рдореВрд▓ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрдкрдХреЛ рдЕрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ), рдмрд╕ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ SecureString рдЖрдВрддрд░рд┐рдХ рдкрд╛рда рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдлрд┐рдХреНрд╕ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ рдпрд╛ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛? рдореБрдЭреЗ рдЕрднреА рднреА рд╢рдХреНрддрд┐рдпрд╛рдВ_6.1.3-1.ubuntu.16.04_amd64.deb (6.2.0-rc.1 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕реМрджрд╛) рдореЗрдВ crypt32.dll рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред

рдореБрдЭреЗ рдпрд╣ рднреА рдЙрддреНрд╕реБрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд┐рдХреНрд╕ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд- CliXml рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрдм рдХреНрд░рдордмрджреНрдз рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдореЗрдВ SecureString рдпрд╛ PSCFential рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВред

@rmbolger рдХреНрдпрд╛ рдЖрдк рдирд╡реАрдирддрдо рдмрд┐рд▓реНрдб (6.2.0-RC) рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ @rmbolger рдЬреИрд╕рд╛ рд╣реА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ

/home/hillr
03-20 23:44:55 31ms 11> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.2.0-rc.1
PSEdition                      Core
GitCommitId                    6.2.0-rc.1
OS                             Linux 4.4.0-17763-Microsoft #379-Microsoft Wed Mar 06 19:16:00 PST 2019
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0тАж}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

/home/hillr
03-21 00:47:45 35ms 12> ConvertFrom-SecureString -SecureString $ss
ConvertFrom-SecureString : Unable to load shared library 'CRYPT32.dll' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libCRYPT32.dll: cannot open shared object file: No such file or directory
At line:1 char:1
+ ConvertFrom-SecureString -SecureString $ss
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [ConvertFrom-SecureString], DllNotFoundException
+ FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.ConvertFromSecureStringCommand
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
5 / 5 - 1 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ajensenwaud picture ajensenwaud  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SteveL-MSFT picture SteveL-MSFT  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alx9r picture alx9r  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MaximoTrinidad picture MaximoTrinidad  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HumanEquivalentUnit picture HumanEquivalentUnit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ