首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Invoke-Command调用脚本时,在PowerShell中获取脚本目录

使用Invoke-Command调用脚本时,在PowerShell中获取脚本目录可以使用以下方法:

  1. 使用$PSScriptRoot变量获取脚本目录

在PowerShell中,$PSScriptRoot变量表示当前脚本的目录路径。因此,可以使用$PSScriptRoot变量获取脚本目录。

例如,在远程计算机上运行本地脚本时,可以使用以下命令:

代码语言:powershell
复制
Invoke-Command -ComputerName remote-computer -FilePath C:\local-script.ps1 -ArgumentList $PSScriptRoot

在本地脚本中,可以使用$PSScriptRoot变量获取脚本目录,如下所示:

代码语言:powershell
复制
$scriptDir = $PSScriptRoot
  1. 使用Get-Location命令获取脚本目录

在PowerShell中,可以使用Get-Location命令获取当前工作目录。因此,可以在脚本中使用Get-Location命令获取脚本目录。

例如,在远程计算机上运行本地脚本时,可以使用以下命令:

代码语言:powershell
复制
Invoke-Command -ComputerName remote-computer -FilePath C:\local-script.ps1 -ArgumentList (Get-Location).Path

在本地脚本中,可以使用Get-Location命令获取脚本目录,如下所示:

代码语言:powershell
复制
$scriptDir = (Get-Location).Path

需要注意的是,在远程计算机上运行脚本时,需要将脚本目录作为参数传递给远程计算机。在本地脚本中,可以使用$PSScriptRoot或Get-Location命令获取脚本目录,并将其传递给远程计算机。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【shell脚本】$ shell脚本使用

shell脚本 '$' 与不同的符号搭配其表示的意义也会不同 特殊标志符 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数 $?...上个命令的退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" "...)包含,都以"$1" "$2" … "$n" 的形式输出所有参数。...但是当它们被双引号(" ")包含,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数

6.2K20
  • Shell 脚本调用另一个 Shell 脚本的三种方式

    调用 foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ....被调用脚本与父脚本同一个 Shell 内执行。但是使用 exec 调用一个新脚本以后, 父脚本 exec 行之后的内容就不会再执行了。...所以被调用脚本声明的变量和环境变量, 都可以脚本中进行获取使用。 其实从命名上可以感知到其中的细微区别,下面通过两个脚本来体会三种调用方式的不同: 第一个脚本,我们命名为 1.sh: #!...exec 同一个 Shell 内执行,但是父脚本 exec 行之后的内容就不会再执行了 source 同一个 Shell 执行,在被调用脚本声明的变量和环境变量, 都可以脚本中进行获取使用...参考: shell脚本调用另一个脚本的三种不同方法(fork, exec, source)

    4.3K20

    Shell-aliasShell脚本使用

    概述 shell开启alias 实际操作 概述 众所周知,shell脚本使用的是非交互式方式,非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias...---- shell开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...默认是打开的,非交互式模式下是关闭的,但可以用可shopt来将其开启 shopt -s expand_aliases ---- 实际操作 我们的项目中某个模块的双机启动脚本(root用户下操作),...其中应用的启停使用了alias建立的同义词来操作,如果想要在脚本使用,必须开启同义词才。...项目启动中会依赖一些环境变量,所以双机启动脚本需要显式的引入.bash_profile文件。 所以我们将 开启alias的命令放在 .bash_profile

    2.3K10

    Windows: 使用PowerShell管理Hyper-V虚拟机

    使用 Invoke-Command 运行脚本或命令 配合使用 PowerShell Direct 和 Invoke-Command 非常适合需要在虚拟机上运行一个命令或一个脚本但在这一点之外无需继续与虚拟机进行交互的情况...使用 New-PSSession 和 Copy-Item 复制文件 注意: PowerShell Direct 仅支持 Windows 版本 14280 及更高版本的持久性会话 在编写用于跨一个或多个远程计算机协调操作的脚本...由于持久性会话具有持久性,会话创建的或传递给会话的任何变量将跨多个调用被保留。有多种工具可用于持久性会话。...在此示例,我们将使用 New-PSSession和 Copy-Item 主机和虚拟机之间移动数据。 8.1....警告: 14500 之前的版本存在一个 Bug。如果不使用 -Credential 标志显式指定凭据,来宾操作系统的服务将崩溃,并且将需要重新启动。如果你遇到此问题,可在此处获取解决方法说明。

    33810

    Excel调用Python脚本,实现数据自动化处理

    虽然Excel对小规模数据场景来说是刚需利器,但它面对大数据就会有些力不从心。...三、玩转xlwings 要想在excel调用python脚本,需要写VBA程序来实现,但对于不懂VBA的小伙伴来说就是个麻烦事。...但xlwings解决了这个问题,不需要你写VBA代码就能直接在excel调用python脚本,并将结果输出到excel表。...如果你想把文件创建到指定文件夹里,需要提前将命令行导航到指定目录。 创建好后,指定文件夹里会出现两个文件,就是之前说的.xlsm和.py文件。...xlsm文件相同位置查找相同名称的.py文件  2、调用.py脚本里的main()函数 我们先来看一个简单的例子,自动excel表里输入['a','b','c','d','e'] 第一步:我们把.py

    4K20

    windows程序嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎

    就是本系列文章讨论的:程序嵌入Lua脚本引擎。(转载请指明出于breaksoftware的csdn博客)         首先简要介绍下Lua。它是巴西里约热内卢某高校发明的一种轻量级脚本语言。...编译         http://luajit.org/install.html#windows里有详细的说明,我们只要在使用VS的Command Prompt定位到src目录,然后执行msvcbuild.bat...于是我们要在Buildvm工程的Pre-Build Event设置(将元目录的*.dasc文件拷贝到Buildvm工程目录下,因为只有这个工程需要使用到它) $(OutDir)\MiniLua.exe...我们将dynasm文件夹拷贝到和这两个项目同等级的目录下(LuaProject\dynasm),Buildvm工程引用这些文件。        ...Buildvm也是辅助程序,它生成后,要使用它再生成一些文件。

    2.8K20

    PowerShell5.X与WMI的集成 专题系列分享 第一部分

    众所周知,windows10以及Windows Server2016的平台当中,PowerShell5.x已经能够去获取到系 统当中大部分的信息,但有时候仍有一些信息需要借助于调用WMI的类来完成...windows平台中,我们有了WMI这个基本组件之后, 我们就可以编写脚本或者编写相应的代码去获取到系统当中我们想去获取的任何信息(包括操作系 统的信息、软件、硬件、网卡、磁盘以及应用程序的信息等等)...WMIwindows首次出现的时候是NT时代,至今已有二十多年的发展史。反观PowerShell 2008年出现的,所以至今也就十余年历史。...一些情况,如果powershell本身提供的命令能 够去获取相应的信息,那也可以使用powershell的方式来完成相应的操作,但是如果powershell对 某些操作没有相关的命令支持,这时便可以通过...powershell调用WMI的方法去获取相关的信息。

    87820

    脚本单独使用django的ORM模型详解

    有时候测试django中一些模块,不想重新跑一整个django项目,只想跑单个文件,正好写在if __name__ == ‘__main__’: 这样也不会打扰到正常的代码逻辑 方法 正常方法 大家都知道的方法就是...’python manage.py shell’,当然我知道这可能不是你需要的; 更好用的方法 脚本import模型前调用下面几行即可: import os, sys BASE_DIR = os.path.dirname...(os.path.abspath(__file__)) # 定位到你的django根目录 sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir...’from XXXX.models import XXX’就不会报错了 补充知识:Django使用外部文件对models操作容易产生的问题 看代码吧!...以上这篇脚本单独使用django的ORM模型详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

    4.9K10

    渗透技巧 | Bypass Powershell执行策略的N种方式

    1.是Windows原生的2.可以调用Windows API3.无文件执行命令4.可以逃避Anti-Virus的检测(这个其实现在还比较敏感了)5.被大多数程序加入白名单,标记为可信的6.有许多开源的渗透工具集...windows为powershell设计了一个名为Execution Policy,即执行策略的东西来决定哪些类型的PowerShell脚本可以系统运行。...Get-ExecutionPolicy 获取影响当前会话的所有执行策略 Get-ExecutionPolicy -List 这些策略的每一个都可以应用于不同的范围来控制受它们影响的人,范围是: •...当直接运行该脚本Restricted(限制)执行策略的机器上,会出现“此系统禁止运行脚本”的错误。...0x04 使用Invoke-Command或Invoke-Expression命令 Invoke-Command 通过交互式PowerShell控制台执行。

    4K20

    如何使用Ketshash检测可疑的特权NTLM连接

    该工具可以基于下列信息来实现其功能: 1、受监控计算机上的安全事件日志(登录事件); 2、活动目录的身份验证事件;  工具要求  该工具的使用要求用户账号拥有下列权限: 1、访问远程计算机的安全事件日志...; 2、活动目录的读取权限(标准域账户); 3、计算机同一间同步,否则会影响结果; 4、至少安装并配置好PowerShell 2.0;  工具下载  该工具是一个PowerShell脚本,因此我们只能在支持...Windows版本10和Server 2016上,应在事件查看器启用“Microsoft Windows LSA/操作”。...但是我们可以Detect-PTHMultithreaded之前使用Invoke-Command调试: Invoke-Command -ScriptBlock $detectPTHScriptBlock...(向右滑动,查看更多) 将$TargetComputer从[array]修改为[string],这样就可以脚本块中使用断点来调试了。

    84750

    windows: 通过普通域用户凭据远程修改其他用户密码

    企业的IT环境,密码管理是日常运维工作的一项基本任务。通常,修改用户密码需要管理员权限,但在特定的场景下,可能需要允许普通用户修改其他用户的密码。...本文将介绍一个独特的PowerShell脚本解决方案,该方案通过普通用户凭据远程登录服务器,并成功修改了其他用户的密码。 1....为实现此目的,我们设计了一个PowerShell脚本,该脚本能够通过普通用户的凭据远程登录服务器,并修改其他用户的密码。 2....脚本解析 以下是实现该任务的PowerShell脚本: # 部分1:密码修改 $username = "wang\w" $password = ConvertTo-SecureString "3" -AsPlainText...cmdlet,脚本远程连接到指定的服务器,并在ScriptBlock执行密码修改操作。

    68440

    使用 Bash 脚本从 SAR 报告获取 CPU 和内存使用情况

    如果超过 28,那么日志文件将放在多个目录,每月一个。 要将覆盖期延长至 28 天,请对 /etc/sysconfig/sysstat 文件做以下更改。...本文中,我们添加了三个 bash 脚本,它们可以帮助你一个地方轻松查看每个数据文件的平均值。...脚本 1:从 SAR 报告获取平均 CPU 利用率的 Bash 脚本 该 bash 脚本从每个数据文件收集 CPU 平均值并将其显示一个页面上。...2:从 SAR 报告获取平均内存利用率的 Bash 脚本 该 bash 脚本从每个数据文件收集内存平均值并将其显示一个页面上。...3:从 SAR 报告获取 CPU 和内存平均利用率的 Bash 脚本 该 bash 脚本从每个数据文件收集 CPU 和内存平均值并将其显示一个页面上。

    1.9K30

    PowerShell 降级攻击的检测与防御

    翻译作者:myh0st 第一部分,我提供了 PowerShell 的高级概述及其对网络的潜在风险。...Powershell 降级攻击 之前的博客文章,我谈到要尽可能避免使用 PowerShell v2,因为它提供了不记录日志的功能,理想情况下应该部署 PowerShell v5.x 或更高版本,因为它提供了更好的日志记录功能...因此,在网络上下载任何恶意脚本内容都有可能在造成伤害之前终止运行。 散弹枪方法 通过上面的方式无法满足所有需求,比如通过快捷方式调用 PowerShell V2 而不是命令行。...,因为 powershell 的执行好都是很短的时间,使用 powershell V2 出发终止,正常的 powershell 进程很大可能不会同时存在。...*CommandLine=.*([^`]*`){2,}[^`]*.*$ 上述表达式可以 PowerShell 事件 ID 800 事件中使用,并且每次执行涉及 2 个或更多反向标记的命令都会触发。

    2.3K00
    领券