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

使用Invoke-Command和Get-CimInstance将变量传递到远程计算机

使用Invoke-Command和Get-CimInstance是在PowerShell中进行远程计算机操作的两个重要命令。

  1. Invoke-Command是用于在远程计算机上执行命令或脚本的命令。它可以通过网络连接到远程计算机,并在远程计算机上执行指定的命令。Invoke-Command可以通过参数来传递变量到远程计算机。
  2. Get-CimInstance是用于获取远程计算机上的CIM(公共信息模型)实例的命令。CIM是一种标准化的管理模型,用于描述和管理计算机系统中的各种资源。Get-CimInstance可以通过网络连接到远程计算机,并获取指定的CIM实例。它也可以通过参数来传递变量到远程计算机。

使用Invoke-Command和Get-CimInstance将变量传递到远程计算机的步骤如下:

  1. 定义要传递的变量。可以使用$变量名的方式定义变量。
  2. 使用Invoke-Command命令连接到远程计算机,并在脚本块中使用$using:变量名的方式引用要传递的变量。例如:
代码语言:txt
复制
$variable = "Hello, remote computer!"
Invoke-Command -ComputerName 远程计算机名 -ScriptBlock { $using:variable }
  1. 在远程计算机上的脚本块中,可以通过$using:变量名的方式访问传递过来的变量。
  2. 如果需要获取远程计算机上的CIM实例,可以使用Get-CimInstance命令。例如:
代码语言:txt
复制
Invoke-Command -ComputerName 远程计算机名 -ScriptBlock { Get-CimInstance -ClassName CIM_ClassName }

其中,CIM_ClassName是要获取的CIM实例的类名。

通过使用Invoke-Command和Get-CimInstance命令,可以方便地在远程计算机上执行命令、传递变量,并获取远程计算机上的CIM实例。

腾讯云提供了云服务器(CVM)产品,可以用于搭建远程计算机环境。您可以通过以下链接了解腾讯云云服务器的详细信息: https://cloud.tencent.com/product/cvm

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

相关·内容

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

使用 New-PSSession Copy-Item 复制文件 注意: PowerShell Direct 仅支持 Windows 版本 14280 及更高版本中的持久性会话 在编写用于跨一个或多个远程计算机协调操作的脚本时...这意味着我们可以使用 Invoke-Command 或 Enter-PSSession 反复引用同一个会话而无需传递凭据。 通过使用相同的令牌,会话保持原有状态。...由于持久性会话具有持久性,在会话中创建的或传递给会话的任何变量跨多个调用被保留。有多种工具可用于持久性会话。...创建会话,然后复制文件: 运行以下命令之一使用 New-PSSession 持久性 PowerShell 会话创建虚拟机。...如果不使用 -Credential 标志显式指定凭据,来宾操作系统中的服务崩溃,并且需要重新启动。如果你遇到此问题,可在此处获取解决方法说明。 8.2. 文件复制虚拟机内。

14410

PS常用命令之系统WMI查看操作相关命令

人人都知道WMI能干很多事情,读取本机硬盘信息、读取远程计算机的用户信息、读取域用户信息等等。基本上你能想到的获取或者更改资源的操作它都能干。可谓吃得少干得多。它为什么这么能干呢?...用描述性驱动程序定义的类名可选说明注释数据事件块,然后 WMI 客户端可以枚举并显示给用户。...、操作 Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62 # 获取远程计算机上的服务 Get-WmiObject Win32_Service...-Credential FABRIKAM\administrator -ComputerName Fabrikam # 远程计算机认证 (Get-WmiObject -Class Win32_Service...-Filter "name='WinRM'" -ComputerName Server01).StopService() # 停止远程计算机上的WinRM服务,对该对象调用Win32_Service

1.3K10

干货|DCOM在渗透中的利用

0x01 DCOM简介 COM 是 Windows 的一个组件,可促进软件之间的互操作性,DCOM 使用远程过程调用 (RPC) 将其扩展整个网络。...APPID:应用程序标识符,为了简化通用安全配置设置的管理,由同一可执行文件托管的分布式 COM 对象被分组一个 AppID 中,属于同一可执行文件的所有类以及访问它所需的权限。...如果 APPID 不正确,DCOM 无法工作。 一个DCOM运行流程 •客户端请求远程计算机通过CLSID或者PROGID创建一个对象。...如果通过了APPID,远程计算机将会使用PROGID查找CLSID。•远程计算机检查APPID并且验证客户端是否具有创建对象权限。...•如果是exe则通过DCOMLaunch.exe如果是dll则通过DLLHOST.exe创建客户端计算机请求的类实例。•如果沟通成功,则客户端可以访问远程计算机上类的所有函数。

1.3K20

内网渗透测试:利用DCOM进行横向渗透

利用这个接口,客户端程序对象能够向网络中另一台计算机上的服务器程序对象发送请求。 DCOM是COM(组件对象模型)的扩展,它允许应用程序实例化访问远程计算机上COM对象的属性方法。...DCOM 使用远程过程调用(RPC)技术组件对象模型(COM)的功能扩展本地计算机之外,因此,在远程系统上托管COM服务器端的软件(通常在DLL或exe中)可以通过RPC向客户端公开其方法。...下面进行演示使用DCOM对远程主机执行命令。 使用DCOM对远程主机执行命令 下面通过几个实验来演示如何使用DCOM在远程主机上面执行命令。...然后在Windows7跳板机上传一个新的metasploit木马程序shell.exe,并控制Windows7使用copy命令shell.exe复制Windows Server 2008的c盘上面去...使用copy命令shell.exe上传到Windows Server 2008的c盘上面去。

2.6K20

从LinuxWindows的PowerShell远程处理

前提条件 1)后期利用期间可以通过目标NTLM身份验证 2)重启WinRM服务 3)使用此NTLM支持PowerShell Docker镜像Linux的PS-Remote,您可以从LinuxWindows...进行PS远程Windows。...PowerShell远程处理需要对Kerberos身份验证,这意味着客户端计算机目标计算机必须都连接到同一域。如果我们没有可以连接的机器来执行远程处理,那么这对测试人员来说可能会造成问题。...如何使用从LinuxWindows的PowerShell远程处理 本节逐步介绍如何从Linux客户端Windows目标建立远程PowerShell会话。...要完成此操作,请运行以下命令之一:使用通配符允许所有计算机在对此主机进行身份验证时使用NTLM Set-Item WSMan:localhostClientTrustedHosts -Force -Value

2.1K20

横向移动之WinRM横向移动

作为DCOMWMI远程管理的替代方法,WinRM用于通过WSMan与远程计算机建立会话,WAMan利用HTTP/S作为传输机制来传递XML格式的消息。...如果未指定该点, 则使用 -r:localhost。 -un[encrypted] - 指定不加密远程外壳程序的消息。...-env[ironment]:STRING=VALUE - 指定外壳程序启动时要设置的单个环境变量,这允许更改外壳程序的默认环境。必须多次使用该开关来指定多个环境变量。...默认情况下,服务器试图加载用户配置文件。如果远程用户不是目标系统上的本地管理员,则需要使用该选项 (默认设置导致错误)。...远程计算机上的旧安装可能不支持压缩,因此默认情况下处于禁用状态。 -[use]ssl - 在使用远程终结点时使用 SSL 连接。

4.1K10

域内横向移动分析及防御

PTH(Pass the Hash 哈希传递)来进行横向渗透 2、单机密码抓取 可以使用工具散列值明文密码从内存中的lsass.exe进程或SAM文件中导出 本地用户名、散列值其他安全验证信息都保存在...Administrator从Debug组中移除 三、哈希传递攻击 哈希传递PTH(Pass the Hash)攻击: 在域环境中,用户登录计算机使用的大都是域账号,大量计算机在安装时会使用相同的本地管理员账号密码...因此如果计算机的本地管理员账号密码也是相同的,攻击者就能使用哈希传递攻击的方法登录内网中的其他计算机。...说白了就是使用工具散列值传递其他计算机中,进行权限验证,实现对远程计算机的控制 在实际测试中,更新KB287l997后无法使用常规的哈希传递方法进行横向移动,但Administrator账号(SID...如果服务器开启了防火墙,wmic无法进行连接。此外,wmic命令如果没有回显,可以命令结果输出到某文件,并使用ipc$type来读取信息。

1.5K11

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

该工具可以基于下列信息来实现其功能: 1、受监控计算机上的安全事件日志(登录事件); 2、活动目录中的身份验证事件;  工具要求  该工具的使用要求用户账号拥有下列权限: 1、访问远程计算机的安全事件日志...\Ketshash.ps1 或者,Ketshash.ps1的内容拷贝PowerShell会话窗口中。...在Windows 10Server 2016上,启用“内核对象审计”提供更准确的信息,例如写入LSASS; LogFile:保存结果的日志文件路径; MaxHoursOfLegitLogonPriorToNTLMEvent...但是我们可以在Detect-PTHMultithreaded之前使用Invoke-Command调试: Invoke-Command -ScriptBlock $detectPTHScriptBlock...(向右滑动,查看更多) $TargetComputer从[array]修改为[string],这样就可以在脚本块中使用断点来调试了。

82050

内网渗透|利用 WinRM 进行横向渗透

这样的管理服务当然不会被攻击者错过,在内网渗透中,我们可以使用 WinRM 服务进行横向移动,并且使用这种远程连接进行横向移动不容易被察觉,也不会占用远程连接数。.../config/Client@{TrustedHosts="*"} WinRM 的默认组访问权限 在安装过程中,WinRM 创建本地组 WinRMRemoteWMIUsers__,然后,WinRM 远程访问设置为本地管理组...calc 进程: image-20210804214037070 使用 Invoke-Command 命令 Invoke-Command 是 PowerShell 上的一个命令,用来在本地或远程计算机上执行命令...在会话期间,您键入的命令在远程计算机上运行,就像您直接在远程计算机上键入一样。...如果身份验证方案与 Kerberos 不同,或者客户端计算机未加入域中,则必须使用 HTTPS 传输或者必须将目标计算机添加到 TrustedHosts 配置设置。

4.7K40

Powershell进阶学习(3) Po

我们首先要理解什么是远程管理,远程管理方式有很多比如最常用的Windows远程桌面管理,linux的SSH等。...windows 远程操作主要依赖WinRM或叫做WS管理协议,使用443端口。从windowsServer2008R2开始已经默认安装了此组件。...二 功能开启了那么我们怎么使用它呢,下面会我会举几个例子。 (1)一对一管理远程计算机,登陆一台域控制器服务器,需要使用Enter-PSSession: ?...(2)但是我不想登陆计算机上再去执行命令,能不能直接通过命令查看当然是可以的。这个需要invoke-command命令。 ? 通过这个命令我们可以看到服务器上最新的关于system的三个日志 ?...我通过远程的方式在bjdc01上设置了一个变量,但当我在此运行的时候发现它居然失效了。 这是什么原因呢?好吧请继续关注关于接下来的session的介绍吧。

51020

WMI 攻击手法研究 – 探索命名空间、类方法 (第二部分)

中的 3 个组件,在整篇文章中,我们交替使用 WMI CIM cmdlet,以便熟悉这两种 cmdlet 类型。...Win32 Provider 提供 4 个不同类别的类:计算机系统硬件类、操作系统类、性能计数器类 WMI 服务管理类 若要获取动态类,可以使用 Get-CimClass cmdlet 的 -QualiferName...如果我们通过管道命令传递给 Remove-CimInstance 会发生什么? 进程被杀死!...方法 方法可操作 WMI 对象,如果向上滚动到我们列出所有可用类的位置,你会注意一个名为 Methods 的列,其中列出了可用的方法。...让我们使用 Set-WmiInstance 属性名称更新为 PewOS: 使用 Set-CimInstance 也可以实现相同的效果,但这留给读者去探索。 5 结论 哇,又是一篇长文!

1.5K21

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

切换到跳板机,在没有加入域控的情况下,使用WinRS命令需先将靶标机器的IP加入客户端信任列表,在cmdpowershell下都可以使用命令靶标机器的IP加入客户端信任列表中,如图1-2所示。...2.Invoke-Command Invoke-Command是一个 PowerShell命令,该命令可用于在远程机器上运行脚本或其他命令,并且可以同时在多台机器上运行命令。...Invoke-Command使用WinRM服务在远程计算机上执行命令。要使用 Invoke-Command则必须在远程机器上具有适当的权限,并且WinRM服务必须在远程计算机上运行。...利用跳板机靶标机器已建立的IPC连接,使用copy invoke.exe \\192.168.1.3\C$命令把invoke.exe文件复制靶标机器的C盘根目录下,命令执行结果如图1-7所示。...接下来在跳板机中使用Powershell运行Invoke-Command命令,输入Invoke-Command -ComputerName 192.168.1.3 -Credential administrator

39460

使用Powershell 获取内网服务器信息状态

本文中,我 们主要说明如何通过 Powershell 收集系统信息生成报告。...使用 Powershell 提供的 Module 相关命令:比如我们在前面使用过的Get-Process 获取当前计算机中运行的进程 2....在 Module 这个参数后, #### 替换成不同的 Module 名称, 就可以获取非常多的不同的命令,获取不同的信息 而另外的一种方法,就是使用 WMI 类,那么在我们使用 WMI 类之前,首先就需要了解以下两个问题...为什么要使用 WMI 类 一个计算机的系统,它基本上包括了两个部分,软件硬件,细分下来的话,硬件包括了 CPU,内存, 磁盘,网卡,显卡等,而软件包括了操作系统,应用程序。...那么接下来就有一个问题了,当我们使用这样的一个计算机运行一个应用程序,并且希望获取这些不同组件的信息怎么办?

2.3K40

红队技巧-常规横向手法

然后让跳板机使用copy命令远程操作,metasploit生成的payload文件Gamma.exe复制目标主机DC系统C盘中。 3. 再在目标主机DC上创建一个名称为“backdoor”的服务。...,通过它可以访问、配置、管理监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特WMI允许脚本语言(例如VBScript或Windows PowerShell)在本地远程管理...)(组件对象模型)的扩展,它允许应用程序实例化访问远程计算机上COM对象的属性方法,就像使用基于DCERPC的DCOM协议在本地计算机上的对象一样,有关每个COM(DCOM)对象的标识,实现配置的信息存储在注册表中...在powershell中我们可以使用 get-CimInstance来列出本地COM程序列表 远程DCOM对象的实例表现如下: 客户端计算机远程计算机请求实例化由CLSID表示的对象。...如果客户端使用ProgID,则首先将其本地解析为CLSID。 远程计算机检查是否存在与所讨论的CLSID关联的AppID,并验证客户端的权限。

2K20

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

本文介绍一个独特的PowerShell脚本解决方案,该方案通过普通用户凭据远程登录服务器,并成功修改了其他用户的密码。 1....119.45.173.154" -Credential $credentials -ScriptBlock {ipconfig} 2.1 创建凭据对象 脚本首先定义了一个凭据对象,该对象包含普通用户的用户名密码...通过Invoke-Command cmdlet,脚本远程连接到指定的服务器,并在ScriptBlock中执行密码修改操作。...NewPassword -OldPassword $OldPassword -Credential $credentials -WhatIf -Confirm } 2.3 密码验证 密码修改后,脚本尝试使用新密码远程连接到服务器并执行一个简单的...通过这种方式,我们可以在不提升用户权限的情况下实现密码管理的自动化,从而满足特定的业务需求,同时保持系统的安全性控制性。

51940

内网渗透之DCOM横向移动

DCOM在远程系统的使用 DCOM(分布式组件对象模型)是微软的一系列概念程序接口。它支持不同的两台机器上的组件间的通信,不论它们是运行在局域网、广域网、还是Internet上。...DCOM是COM(组件对象模型)的扩展,它允许应用程序实例化访问远程计算机上COM对象的属性方法。...DCOM使用远程过程调用(RPC)技术组件对象模型(COM)的功能扩展本地计算机之外,因此,在远程系统上托管COM服务器端的软件(通常在DLL或exe中)可以通过RPC向客户端公开其方法 攻击者在进行横向移动时...对象远程执行命令,还会使用网络环境中部署的大量诸如IPS、流量分析等系统。...3、上传后门目标主机 使用copy命令 copy [file path] [target path] ?

2.2K20

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

2.后台任务主要用在哪些场景                                       (1)文件拷贝多台远程机器,可以开启多个任务进行并行拷贝 (2)多台远程机器同时安装文件,可以开启多个任务进行并行安装...-AsJob 1 $InvokeCommandJob = Invoke-Command -ComputerName LocalHost -ScriptBlock {Get-Process} -AsJob...Job,这里我用到的远程机器为LocalHost本地机器作为测试机器, 大家可以用远程机器名替换这个地方的LocalHost 开启了一个任务后,我们总不能不管它吧,现在来说下怎么处理这些Job 4....下面我来讲一个非常有趣的问题 5.Start-Job传参                                                 比如我们现在要开启一个Job,计算$c=$a+$b,然后将计算结果写入D...因为我们忽略了一个问题: ScriptBlock里面的参数都是需要参数传递进去的。

1.8K60

SharpMapExec:针对网络渗透测试高级瑞士Knife

数据过滤模块的核心实现思想是在远程计算机上执行最少的必要代码,为了完成这个任务,该工具将把所有的敏感数据下载到loot目录并在本地解析它们。...广大研究人员可以指定是否要使用Kerberos或NTLM身份验证,如果选择了Kerberos,那么该工具创建一个令牌,并使用Rubeus导入或请求凭证。...) /m:exec /a:C:\beacon.exe /system (Invoke-Command as System) /m:comsvcs...shares (Scan enumerated shares for access) WinRM 该模块内置了AMSI绕过、JEA语言中断JEA...工具使用样例 该工具支持在内存中执行大量的C#程序: Kerberos密码喷射并扫描本地管理员访问: 该项目支持扫描JEA节点,分析非默认命令的源代码,并检查节点是否未配置为no-language模式

85220
领券