运行 aspnet_regiis 用于在第一个 failure/success 操作后存在循环中的加密
Running aspnet_regiis for encryption in loop exists after first failure/success operation
我正在编写一个 powershell 脚本,它读取一个 CSV,其中包含 Web.config/App.config 驻留应用程序的路径。脚本简单尝试加密配置文件。代码片段如下:
foreach ($config in $configs) {
$rootPath = Get-Location
$directory = Join-Path -Path $rootPath -ChildPath $config.GetPath()
if (Test-Path -Path $directory) {
$configPath = Join-Path $directory -ChildPath $config.GetOriginalConfig()
if (![System.IO.File]::Exists($configPath)) {
Write-Host "$configPath was not found."
return
}
# A set of helper codes
Try {
cd $directory
# Invoke-Command $moveToDirectory
aspnet_regiis -pef connectionStrings . -prov CustomProvider
}
Catch {
Write-Host $$_.Exception.Message
}
}
}
这里的问题是我有 5 个配置路径,但只有第一个 运行s 并且应用程序存在。似乎 aspnet_regiis
在成功或失败的情况下都存在该程序。我该怎么做才能使其循环 运行?
好吧,通过一些打击和试验,我能够解决这个问题。由于 cd $directory
命令,循环停止到 运行。我的猜测是,由于问题是命令更改目录,因此脚本不在其当前范围内。我是新手所以这只是我的猜测。
于是我改了一行代码为:
aspnet_regiis -pef connectionStrings "$directory" -prov CustomProvider
我正在编写一个 powershell 脚本,它读取一个 CSV,其中包含 Web.config/App.config 驻留应用程序的路径。脚本简单尝试加密配置文件。代码片段如下:
foreach ($config in $configs) {
$rootPath = Get-Location
$directory = Join-Path -Path $rootPath -ChildPath $config.GetPath()
if (Test-Path -Path $directory) {
$configPath = Join-Path $directory -ChildPath $config.GetOriginalConfig()
if (![System.IO.File]::Exists($configPath)) {
Write-Host "$configPath was not found."
return
}
# A set of helper codes
Try {
cd $directory
# Invoke-Command $moveToDirectory
aspnet_regiis -pef connectionStrings . -prov CustomProvider
}
Catch {
Write-Host $$_.Exception.Message
}
}
}
这里的问题是我有 5 个配置路径,但只有第一个 运行s 并且应用程序存在。似乎 aspnet_regiis
在成功或失败的情况下都存在该程序。我该怎么做才能使其循环 运行?
好吧,通过一些打击和试验,我能够解决这个问题。由于 cd $directory
命令,循环停止到 运行。我的猜测是,由于问题是命令更改目录,因此脚本不在其当前范围内。我是新手所以这只是我的猜测。
于是我改了一行代码为:
aspnet_regiis -pef connectionStrings "$directory" -prov CustomProvider