Encryption 将mywebsite部署到服务器后,我可以加密web.config文件吗?

Encryption 将mywebsite部署到服务器后,我可以加密web.config文件吗?,encryption,msdeploy,Encryption,Msdeploy,我正在尝试在自动部署后加密web.config文件 根据链接: 我正在使用以下命令: msdeploy.exe–动词:sync–source:iisapp=“sourceTestSite”–dest:iisapp=“destinationTestSite”–启用规则:EncryptWebConfig 但是我得到了一个错误: 错误代码:错误\u未能\u加密\u WEB\u配置 我不想先加密然后部署。我正在考虑运行部署脚本,在部署之后,它应该使用MSDEploy命令自动加密 我尝试了以下线程,但没


我正在尝试在自动部署后加密web.config文件

根据链接:

我正在使用以下命令:
msdeploy.exe–动词:sync–source:iisapp=“sourceTestSite”–dest:iisapp=“destinationTestSite”–启用规则:EncryptWebConfig

但是我得到了一个错误:
错误代码:错误\u未能\u加密\u WEB\u配置

我不想先加密然后部署。我正在考虑运行部署脚本,在部署之后,它应该使用MSDEploy命令自动加密

我尝试了以下线程,但没有得到任何帮助:

另外,我想将我的机密文件保存在单独的位置,但我发现加密过程对此不起作用


这次我尝试在远程服务器上运行命令,使用下面的代码加密web.config文件。我正在我的计算机中运行下面的代码,并尝试加密myRemoteServer上的web.config文件

$currentDirectory = (Get-Location)
$user = "domain1\username1"
$section = "appSettings" 
$app= "/MyWeb"
$version="v4.0.30319"
$computername ="myRemoteServer"
$pwd = ConvertTo-SecureString -String "mysecret@11" -AsPlainText -Force

$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pwd

$encryptcmd1= Set-Location "C:\windows\Microsoft.Net\Framework\$version"

$encryptCmd2 = ".\aspnet_regiis.exe -pe ""appSettings"" -app ""/MyWeb"""

$encryptCmd = "$encryptcmd1 $encryptcmd2"
try
{
invoke-command -ComputerName $computername -Credential $credential -ScriptBlock {$encryptCmd}
}
catch 
{
    Log-Message $_
}

Set-Location $currentDirectory
它不会抛出任何异常。但是,它无法工作,并且无法在该服务器上加密web.config文件。
我想知道这里哪里出了问题。

他的函数将加密web.config文件的一部分

function Encrypt-ConfigurationSection([int] $id, [string] $app, [string] $section, [string] $version){
$currentDirectory = (Get-Location)
Set-Location "C:\windows\Microsoft.Net\Framework\$version\"
.\aspnet_regiis.exe -pe $section -app $app -site $id -prov "RsaProtectedConfigurationProvider"
Set-Location $currentDirectory
}
function Decrypt-ConfigurationSection([int] $id, [string] $app, [string] $section, [string] $version){
$currentDirectory = (Get-Location)
Set-Location "C:\windows\Microsoft.Net\Framework\$version\"
.\aspnet_regiis.exe -pd $section -app $app -site $id
Set-Location $currentDirectory
}
示例调用

Encrypt-ConfigurationSection 1 ‘/WebApplication1’ ‘connectionStrings’ ‘v4.0.30319’
此函数将解密web.config文件的一部分

function Encrypt-ConfigurationSection([int] $id, [string] $app, [string] $section, [string] $version){
$currentDirectory = (Get-Location)
Set-Location "C:\windows\Microsoft.Net\Framework\$version\"
.\aspnet_regiis.exe -pe $section -app $app -site $id -prov "RsaProtectedConfigurationProvider"
Set-Location $currentDirectory
}
function Decrypt-ConfigurationSection([int] $id, [string] $app, [string] $section, [string] $version){
$currentDirectory = (Get-Location)
Set-Location "C:\windows\Microsoft.Net\Framework\$version\"
.\aspnet_regiis.exe -pd $section -app $app -site $id
Set-Location $currentDirectory
}
示例调用

Decrypt-ConfigurationSection 1 ‘/WebApplication1’ ‘connectionStrings’ ‘v4.0.30319’
我从这个网站得到了帮助:


目前,我正在使用powershell进行以下加密操作