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

使用Powershell Invoke-command时,从外部文件加载-Computername变量不起作用

在使用PowerShell的Invoke-Command命令时,从外部文件加载-Computername变量不起作用的问题可能是由于以下几个原因导致的:

  1. 文件路径错误:首先,确保你指定的外部文件路径是正确的。可以使用绝对路径或相对路径来指定文件的位置。如果文件路径不正确,PowerShell将无法加载变量。
  2. 文件格式错误:确保外部文件的格式正确。PowerShell支持多种文件格式,如文本文件(.txt)、脚本文件(.ps1)等。如果文件格式不正确,PowerShell可能无法正确解析文件中的变量。
  3. 变量定义错误:检查外部文件中的变量定义是否正确。确保变量名和值之间使用等号(=)进行赋值,并且每个变量定义占用一行。例如,正确的变量定义格式为:$Computername = "Server01"。
  4. 变量作用域问题:如果你在外部文件中定义了变量,并且希望在Invoke-Command命令中使用该变量,确保变量的作用域正确。在PowerShell中,变量的作用域可以是全局的、脚本块的或函数的。如果变量的作用域不正确,Invoke-Command可能无法访问该变量。

如果你仍然无法解决该问题,可以尝试以下解决方案:

  1. 直接在Invoke-Command命令中指定Computername参数的值,而不是从外部文件加载。例如:Invoke-Command -Computername "Server01" -ScriptBlock { ... }。
  2. 将外部文件中的变量定义复制粘贴到Invoke-Command命令中。确保变量定义在Invoke-Command命令之前,并且在同一个作用域内。例如:$Computername = "Server01"; Invoke-Command -Computername $Computername -ScriptBlock { ... }。
  3. 检查PowerShell版本是否支持从外部文件加载变量。某些较旧的PowerShell版本可能不支持此功能。尝试升级到最新版本的PowerShell,以获得更好的兼容性和功能支持。

总结起来,当使用PowerShell的Invoke-Command命令时,从外部文件加载-Computername变量不起作用可能是由于文件路径错误、文件格式错误、变量定义错误或变量作用域问题导致的。可以通过检查这些方面来解决问题,并尝试直接指定Computername参数的值或将变量定义复制粘贴到命令中来解决该问题。

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

相关·内容

CS学习笔记 | 16、用户枚举三个关键步骤

3、查看文件列表 比如运行下面的命令。其中 /S 表示列出指定目录及子目录所有文件,/B 表示使用空格式,即没有标题或摘要信息。...powershell Invoke-Command -ComputerName TARGET -ScriptBlock {command here} beacon> powershell Invoke-Command...: Invoke-Command -ComputerName WIN-P2AASSD1AF1 -ScriptBlock { net localgroup administrators} [+] host...命令运行后的结果,WinRM 也将通过命令行进行显示,因此可以使用 Powershell 的 Invoke 命令来作为远程工具,而不使用其他的恶意软件来控制系统。...文件大小在 2 MB 多,因此直接运行powershell-import导入该文件会报错,这里可以选择使用 beacon 中的 upload 命令或者在当前会话的 File Browser 图形界面中上传该文件

67640

Linux到Windows的PowerShell远程处理

现在唯一的问题是,用于Linux的PowerShell核心(撰写本文PowerShell 6.1.0)并未支持NTLM身份验证。...如何使用Linux到Windows的PowerShell远程处理 本节将逐步介绍如何Linux客户端到Windows目标建立远程PowerShell会话。...这是在Enter-PSSession设置阶段使用NTLM身份验证所必需的,这是唯一可用于通过PowerShell远程连接Linux连接到Windows的身份验证机制。...要完成此操作,请运行以下命令之一:使用通配符允许所有计算机在对此主机进行身份验证使用NTLM Set-Item WSMan:localhostClientTrustedHosts -Force -Value...-Authentication Negotiate -Credential $creds 您也可以以类似的方式使用Invoke-Command功能 Invoke-Command -ComputerName

2.1K20
  • T1028: WinRM for Lateral Movement

    @#45 #运行服务 搜索发现一个比较好用得技巧,powershell环境中变量得解析方式、使用方式和cmd不一样: 获取当前环境得所有变量:Get-ChildItem env: or ls env:...使用变量:$env:windir 前面的WinRM.vbs,在powersehll中使用的的命令就是这样:cscript.exe $env:windir\System32\winrm.vbs ?...or Invoke-Command -Session $Session {Command} #这个命令也经常用 Invoke-Command -ComputerName OWA2010SP3 -Credential...#在新版kali中是由pwsh的,理论上上述命令在pwsh同样适用,但是笔者测试遇到错误,暂未找到原因。 ?...不一定要使用明文密码,注意-H 参数,使用NT hash 也可以登录 参考 A look under the hood at Powershell Remoting through a cross plaform

    2K30

    ATT&CK视角下的红蓝对抗:十八.横向移动之利用WinRM进行横向渗透

    切换到跳板机,在没有加入域控的情况下,使用WinRS命令需先将靶标机器的IP加入客户端信任列表,在cmd和powershell下都可以使用命令将靶标机器的IP加入客户端信任列表中,如图1-2所示。...2.Invoke-Command Invoke-Command是一个 PowerShell命令,该命令可用于在远程机器上运行脚本或其他命令,并且可以同时在多台机器上运行命令。...Invoke-Command使用WinRM服务在远程计算机上执行命令。要使用 Invoke-Command则必须在远程机器上具有适当的权限,并且WinRM服务必须在远程计算机上运行。...接下来在跳板机中使用Powershell运行Invoke-Command命令,输入Invoke-Command -ComputerName 192.168.1.3 -Credential administrator...3)切换到跳板机,在powershell使用命令New-PSSession -ComputerName 192.168.1.3 -Credential administrator -Port 5985

    47460

    Hack The Box,一款有意思的渗透测试平台

    (获取可能会失败,多尝试几次),解压发现需要解压密码,利用zip2john进行解密,提取压缩包的hash值。...,之前爆破出来的密码不正确不能访问,pfx文件是经过秘钥加密的,我们可以使用命令openssl进行分析,并且要同时使用pkcs12文件工具,生成和分析pkcs12文件。...Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt (向右滑动、查看更多) 查看文件内容,找到一个用户和密码,...\svc_deploy *Evil-WinRM* PS C:\Users> invoke-command -computername localhost -credential $c -port 5986...-usessl -SessionOption $so -scriptblock {hostname} dc01 (向右滑动、查看更多) 抓取用户凭证,使用AD-Module,查看 LAPS 密码: invoke-command

    1K20

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

    通过 DMTF制定的标准,软件开发人员或者IT运维人员就可以使用同样的方法去获取到这一台服务 器它的品牌和型号,以及操作系统的类型和应用程序的信息。...在一些情况中,如果powershell本身提供的命令能 够去获取相应的信息,那也可以使用powershell的方式来完成相应的操作,但是如果powershell对 某些操作没有相关的命令支持,这时便可以通过...Invoke-Command Module : [Microsoft.PowerShell.Core] Runs commands on local and remote computers....view=powershell-5.1 PS C:\> Invoke-Command -ComputerName zhangsan.testLab.com -ScriptBlock {GetLocalUser...-ComputerName guanyu.testLab.com -ScriptBlock {GetLocalUser} 无法将“Get-LocalUser”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

    87820

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

    •需要可信发布者对 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)进行数字签名。•不要求在本地计算机上编写的脚本(不是 Internet 下载的)具有数字签名。...•运行 Internet 下载且未签名的脚本(如果脚本未阻止,例如使用Unblock-Filecmdlet)。•有运行来自互联网以外来源的未签名脚本和可能是恶意的签名脚本的风险。...当直接运行该脚本在Restricted(限制)执行策略的机器上,会出现“此系统禁止运行脚本”的错误。...0x04 使用Invoke-Command或Invoke-Expression命令 Invoke-Command 通过交互式PowerShell控制台执行。...invoke-command -computername Server01 -scriptblock {get-executionpolicy} | set-executionpolicy -force

    4K20

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

    Set-VMDvdDrive:设置虚拟机的DVD驱动器路径,以便使用ISO文件作为安装源。 在管理Hyper-V虚拟机时,您可能需要禁用安全引导和设置虚拟机光盘优先引导。...禁用虚拟机的安全引导 安全引导是windows独有的一种用于确保系统启动加载受信任软件的功能。某些情况下,比如安装linux, 我们可能需要禁用此功能来安装特定的操作系统或进行特定的维护任务。...使用 Invoke-Command 运行脚本或命令 配合使用 PowerShell Direct 和 Invoke-Command 非常适合需要在虚拟机上运行一个命令或一个脚本但在这一点之外无需继续与虚拟机进行交互的情况...使用 New-PSSession 和 Copy-Item 复制文件 注意: PowerShell Direct 仅支持 Windows 版本 14280 及更高版本中的持久性会话 在编写用于跨一个或多个远程计算机协调操作的脚本...虚拟机复制文件(到主机)。

    34010

    Cobalt Strike 4.0 Updates You Should Know

    ,并且,当使用psexec_psh进行横向的时候会使用stager,其他方式均为stageless 图3 Added Jump command 4.No Powershell 偏好 图4 More...password was logged in memory 图20 Failed when users was domain user b.svc-exe svc-exe这个参数,并不是和exp提权那样,帮你普通用户...c.EXP 本地提权 因为现在是域用户,又又又又只能用exp本地提权了,因为作者已经在cs4.0中删除了exp,但是你可以通过GitHub去clone作者的【Elevate Kit】项目,然后在cs加载模块...(个人补充) 补充:在CS中,可以使用powershell-import导入ps1脚本,然后使用powerpick去执行脚本的模块 图38 You can use powershell-import...command to import module 其实可以使用系统自带的Invoke-Command模块进行远程命令执行(当然,也需要调用凭据) powerpick Invoke-Command -ComputerName

    65610

    玩转PowerShell第一节——【后台任务处理】-技术&分享

    而当我们用PowerShell这个强大的工具怎么样开启后台任务呢,以及怎样处理这些任务呢,本篇将会告诉你PowerShell后台任务处理。...2.后台任务主要用在哪些场景                                       (1)将文件拷贝到多台远程机器,可以开启多个任务进行并行拷贝 (2)多台远程机器同时安装文件,可以开启多个任务进行并行安装...        Get-Process  我们能够从上面看到 $StartJob名字叫做Job7,Job的类型为后台Job,状态为Running,Command表示执行的命令式Get-Process  (2)Invoke-Command...-AsJob 1 $InvokeCommandJob = Invoke-Command -ComputerName LocalHost -ScriptBlock {Get-Process} -AsJob...3 但是事实上文本文件中的内容为空,这是为什么呢?

    1.9K60

    Cobalt Strike 4.0 Updates You Should Know

    图9:Https Beacon info 细心的同学可能发现,下面新的选项是用来干啥的,因为在cs4.0中,对C2攻击方式进行了优化,你可以在profile选择你在外部导入进去的c2 profile,然后修改...图20 Failed when users was domain user b.svc-exe svc-exe这个参数,并不是和exp提权那样,帮你普通用户 ”pwn!!...图37 Use remote-exec to disable firewall on DC (d).Invoke-Command(个人补充) 补充:在CS中,可以使用powershell-import导入...图38 You can use powershell-import command to import module 其实可以使用系统自带的Invoke-Command模块进行远程命令执行(当然,也需要调用凭据...) powerpick Invoke-Command -ComputerName DC -ScriptBlock { netsh advfirewall set allprofiles state off

    1.9K10

    内网渗透-活动目录利用方法

    当操作系统启动SSP会被加载到lsass.exe进程中,由于lsass可通过注册表进行扩展,导致了在操作系统启动,可以加载一个自定义的dll,来实现想要执行的操作。...此成员资格允许用户使用以下权限配置域控制器: 允许本地登录 备份文件和目录 更改系统时间 更改时区 远程系统强制关闭 恢复文件和目录 关闭系统 SeBackupPrivilege 和 SeRestorePrivilege...SeBackupPrivilege使我们能够遍历任何文件夹并列出文件夹内容。这将让我们文件夹中复制文件,即使没有其他权限也可以执行。...使用diskshadow工具,您可以在C盘(或其他位置)创建一个卷影副本,例如在F盘上。然后,您可以该卷影副本中窃取NTDS.dit文件,因为系统不会使用它。...当使用 winrs.exe ,端口转发 WinRM 请求似乎也是有效的。如果您意识到 PowerShell 正在被监控,这可能是一个更好的选择。

    10410

    关于腾讯云windows更新

    ,内网 windows update参考https://cloud.tencent.com/document/product/213/2758 如果机器有公网,默认不用配啥,用系统自带的更新功能打补丁自动连微软对公的...在windows机器内直接执行该脚本文件即可,不需要输入任何参数 RebootToComplete以实现更新后重启机器使得更新生效 脚本执行指令如下:cscript windows_update.vbs...必须确保机器可以正常连接windows更新服务器或自定义的相关更新服务器,否则无法实现更新 (2)该脚本执行结束后,机器会重启以保证补丁生效 (3)脚本执行时间取决于补丁大小及网络状况等 另外,了解下使用...= @('10.255.5.6') for($i=0;$i -lt $iparray.Length;$i++){ "`$iparray["+$i+"]="+$iparray[$i]+"`n" Invoke-Command...-ComputerName $iparray[$i] -Credential $Cred -ScriptBlock { cscript.exe "C:\windows_update.vbs";

    51050

    如何在网络中追踪入侵者(三):主机追踪

    Powershell能够让操作更方便。利用Powershell运行Yara可以通过下面这几个简单的步骤,假设你已经有登录凭证并且 Powershell已经远程开放了。...然而,跟在IOC中搜索hash值,文件名,或者一些通用的标识相比,使用Yara要强大的多。 无情报追踪 即使你有IOC作为入口点,IOC不足以发现你的企业中的所有可能的恶意行为。现在就轮到追踪登场了。...出现的自启动项中只有一小部分是恶意的,所以需要分析的地方把它找出来很难。 另外,为了长期运行,需要释放文件到硬盘中。有些行为很明显是可疑的 -比如在%TEMP%文件夹外执行了奇怪的文件名。...我们推荐结合Powershell 和autoruns的命令行来使用,这样可以远程你的系统抓取数据。...下一个例子展示了一个程序在启动的时候回收站执行,只有单字符的文件名,很清楚的显示一些奇怪的东西在执行。 ? 这里你不仅仅可以自动运行数据获取可疑的信息。还有很多方法。

    1.2K90
    领券