在与原始脚本相同的目录中以管理员身份运行PowerShell脚本

jippyjoe4

因此,显然没有简单的方法可以通过双击来直接以管理员身份运行.ps1脚本。您可以编辑注册表以运行它,但是为了使它以管理员身份运行,显然您必须告诉它从已经运行的PowerShell中打开新的提升的PowerShell。不幸的是,据我所知,每次完成后,提升的提示都会在与原始脚本不同的目录中打开!因此,例如,如果我有以下脚本:

$principal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if($principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
{
  .\mylocalscript.ps1
  Write-Host "Just an example!"
}
else
{
  Start-Process -FilePath "powershell" -ArgumentList "-NoExit $('-File ""')$(Get-Location)$('\')$($MyInvocation.MyCommand.Path)$('""')" -Verb runAs
}

它之所以失败是因为,以管理员身份打开后,曾经是原始脚本本地的本地脚本不再是本地的,因此找不到它。本质上,我需要一种方法来告诉新的提升的PowerShell窗口,该窗口打开后会自动更改回原始脚本的目录。

最好的方法是什么?

IT暴徒忍者

您可以使用set-location-Path $PSScriptRoot来更改包含这些命令的脚本所在的目录,然后可以在该命令之后运行其余逻辑,以确保在任何命令运行之前将其设置回所需的目录。

Set-Location -Path $PSScriptRoot

更多资源

  • 设置位置
  • 自动变量

    • $PSScriptRoot

      包含从中执行脚本模块的目录。此变量允许脚本使用模块路径访问其他资源。在PowerShell 3.0+中,此功能无处不在,而不仅仅是模块中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PowerShell-以管理员身份运行时还原脚本位置的目录

来自分类Dev

TFS构建:以管理员身份运行Powershell脚本

来自分类Dev

以本地管理员身份运行Powershell脚本

来自分类Dev

以管理员身份运行的脚本

来自分类Dev

在与当前脚本相同的目录中运行脚本

来自分类Dev

以本地管理员身份运行powershell脚本。为什么不起作用?

来自分类Dev

以管理员身份传递参数来运行脚本

来自分类Dev

以管理员身份运行脚本,但获取当前用户

来自分类Dev

以管理员用户身份重新启动PowerShell脚本

来自分类Dev

如何在Windows容器中以管理员身份运行脚本

来自分类Dev

如何以管理员身份在主目录中启动PowerShell,使其运行?

来自分类Dev

当以我的管理员用户身份运行时,Powershell脚本不会在任务计划程序中启动

来自分类Dev

PowerShell脚本上下文菜单项可在不退出的情况下以管理员身份运行脚本

来自分类Dev

如何以Bamboo管理员身份运行批处理脚本?

来自分类Dev

如何将参数传递给以管理员身份自动运行的脚本?

来自分类Dev

允许脚本以管理员身份运行以更新电子表格

来自分类Dev

每次用户登录时如何以管理员身份运行AutoHotKey脚本?

来自分类Dev

从xfce GUI以管理员身份运行脚本(提示输入密码)

来自分类Dev

如何将参数传递给以管理员身份自动运行的脚本?

来自分类Dev

如何从 Pendrive 以管理员身份运行 .bat(运行同一目录中的 .exe)?

来自分类Dev

PowerShell运行与以管理员身份启动PowerShell不同

来自分类Dev

在与调用Python模块或脚本相同的目录中运行文件

来自分类Dev

使用管理员权限运行 PowerShell 脚本并绕过执行策略

来自分类Dev

管理员会话脚本

来自分类Dev

提升Powershell脚本以管理员身份运行时,为什么读主机在提示用户之前接受键盘输入?

来自分类Dev

以管理员身份运行时无法访问当前目录中的文件夹

来自分类Dev

以管理员身份运行时无法访问当前目录中的文件夹

来自分类Dev

检测PowerShell是否以管理员身份运行

来自分类Dev

引用与$ PATH中的脚本相同目录下的文件

Related 相关文章

  1. 1

    PowerShell-以管理员身份运行时还原脚本位置的目录

  2. 2

    TFS构建:以管理员身份运行Powershell脚本

  3. 3

    以本地管理员身份运行Powershell脚本

  4. 4

    以管理员身份运行的脚本

  5. 5

    在与当前脚本相同的目录中运行脚本

  6. 6

    以本地管理员身份运行powershell脚本。为什么不起作用?

  7. 7

    以管理员身份传递参数来运行脚本

  8. 8

    以管理员身份运行脚本,但获取当前用户

  9. 9

    以管理员用户身份重新启动PowerShell脚本

  10. 10

    如何在Windows容器中以管理员身份运行脚本

  11. 11

    如何以管理员身份在主目录中启动PowerShell,使其运行?

  12. 12

    当以我的管理员用户身份运行时,Powershell脚本不会在任务计划程序中启动

  13. 13

    PowerShell脚本上下文菜单项可在不退出的情况下以管理员身份运行脚本

  14. 14

    如何以Bamboo管理员身份运行批处理脚本?

  15. 15

    如何将参数传递给以管理员身份自动运行的脚本?

  16. 16

    允许脚本以管理员身份运行以更新电子表格

  17. 17

    每次用户登录时如何以管理员身份运行AutoHotKey脚本?

  18. 18

    从xfce GUI以管理员身份运行脚本(提示输入密码)

  19. 19

    如何将参数传递给以管理员身份自动运行的脚本?

  20. 20

    如何从 Pendrive 以管理员身份运行 .bat(运行同一目录中的 .exe)?

  21. 21

    PowerShell运行与以管理员身份启动PowerShell不同

  22. 22

    在与调用Python模块或脚本相同的目录中运行文件

  23. 23

    使用管理员权限运行 PowerShell 脚本并绕过执行策略

  24. 24

    管理员会话脚本

  25. 25

    提升Powershell脚本以管理员身份运行时,为什么读主机在提示用户之前接受键盘输入?

  26. 26

    以管理员身份运行时无法访问当前目录中的文件夹

  27. 27

    以管理员身份运行时无法访问当前目录中的文件夹

  28. 28

    检测PowerShell是否以管理员身份运行

  29. 29

    引用与$ PATH中的脚本相同目录下的文件

热门标签

归档