我开始使用Visual Studio Code for Powershell脚本编写。我想关闭对未签名代码的检查,但无法找到如何执行此操作。我在论坛上也找不到任何东西。
答案 0 :(得分:9)
您可以通过在powershell.exe命令中添加参数来调整策略。 为此,请打开设置json文件。然后添加以下行:
clrs <- c("blue", "light blue", "red", "rose", "ruby", "yellow", "green", "black", "brown", "royal blue")
dfx <- data.frame(colors1=clrs, colors2 = clrs, Amount=sample(100,10))
# Function to replace levels with regex matching
make_levels <- function(.f, patterns, replacement = NULL, ignore.case = FALSE) {
lvls <- levels(.f)
# Replacements can be listed in the replacement argument, taken as names in patterns, or the patterns themselves.
if(is.null(replacement)) {
if(is.null(names(patterns)))
replacement <- patterns
else
replacement <- names(patterns)
}
# Find matching levels
lvl_match <- setNames(vector("list", length = length(patterns)), replacement)
for(i in seq_along(patterns))
lvl_match[[replacement[i]]] <- grep(patterns[i], lvls, ignore.case = ignore.case, value = TRUE)
# Append other non-matching levels
lvl_other <- setdiff(lvls, unlist(lvl_match))
lvl_all <- append(
lvl_match,
setNames(as.list(lvl_other), lvl_other)
)
return(lvl_all)
}
# Replace levels
levels(dfx$colors2) <- make_levels(.f = dfx$colors2, patterns = c(Blue = "blue", Red = "red|rose|ruby"))
dfx
#> colors1 colors2 Amount
#> 1 blue Blue 75
#> 2 light blue Blue 55
#> 3 red Red 47
#> 4 rose Red 83
#> 5 ruby Red 56
#> 6 yellow yellow 10
#> 7 green green 25
#> 8 black black 29
#> 9 brown brown 23
#> 10 royal blue Blue 24
答案 1 :(得分:1)
您可以使用命令Set-ExecutionPolicy
来更改系统的执行策略。您需要从管理会话中执行此操作。您可以使用PowerShell提示符中的help Set-ExecutionPolicy
命令找到相应的语法。
Stack Overflow上还有一个高度可见的Q&A,信息相同。
答案 2 :(得分:0)
我通过将策略设置为来解决:
Set-ExecutionPolicy –ExecutionPolicy RemoteSigned
以管理员身份运行的Visual code集成环境。
以下博客明确列出了解决该问题的步骤:
答案 3 :(得分:0)
PowerShell的默认设置有助于防止运行恶意脚本。默认情况下,您应该/可以在VSCode集成终端上运行脚本。
要更改PowerShell安全设置,请以管理员权限打开PowerShell并运行以下命令:
Get-ExecutionPolicy -List
您应该收到这样的答复:
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned
CurrentUser可能也是未定义的,因为您无法在VSCode终端上运行脚本。
要更改此设置,请运行以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
重新打开VSCode终端,它现在应该可以工作。
如果您想了解更多详细信息,可以在这里找到完整的文档:https://docs.microsoft.com/es-es/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
答案 4 :(得分:0)