PowerShell 使用 PSSession 删除项目
PowerShell Remove-Item using PSSession
我正在尝试使用 C# 中的 PowerShell 为远程计算机创建一个简单的文件操作 API。
我可以通过首先创建 New-PSSession
并使用附加参数 -ToSession/-FromSession $s
执行 Copy-Item
cmdlet 来 Copy-Item
往返于远程计算机,其中 $s
是由New-PSSession
.
生成的变量
我正在寻找一种方法来对删除、添加和移动项目执行相同操作,但我已经受困于删除部分。 MSDN 没有指定任何特定参数来代替 -ToSession/-FromSession
- 还有其他方法可以使用 PSSession 删除文件吗?我想将连接到远程主机的 "ways" 限制在最低限度。
免责声明:我能够在 C# 中创建远程 PowerShell 客户端并远程 运行 命令,但我宁愿在客户端而不是主机上控制进程。
据我了解,这就是你想要做的:
如果要输入路径:
Invoke-Command -Session $PSSession -Command {Remove-Item c:\windows}
或
使用路径作为变量,需要利用$Using:
关键字。这适用于 PoShv3 或更高版本。
$Path = 'C:\Windows'
Invoke-Command -Session $PSSession -Command {Remove-Item $Using:Path}
或
如果需要经典,可以通过-argumentlist
参数将变量传入脚本块。您可以通过 $args
数组或参数块在脚本块中获取它们。当然,脚本块内部的变量名可以与外部不同。
$Path = 'C:\Windows'
Invoke-Command -Session $PSSession -Command {Param($Path) Remove-Item $Path} -ArgumentList $path
我正在尝试使用 C# 中的 PowerShell 为远程计算机创建一个简单的文件操作 API。
我可以通过首先创建 New-PSSession
并使用附加参数 -ToSession/-FromSession $s
执行 Copy-Item
cmdlet 来 Copy-Item
往返于远程计算机,其中 $s
是由New-PSSession
.
我正在寻找一种方法来对删除、添加和移动项目执行相同操作,但我已经受困于删除部分。 MSDN 没有指定任何特定参数来代替 -ToSession/-FromSession
- 还有其他方法可以使用 PSSession 删除文件吗?我想将连接到远程主机的 "ways" 限制在最低限度。
免责声明:我能够在 C# 中创建远程 PowerShell 客户端并远程 运行 命令,但我宁愿在客户端而不是主机上控制进程。
据我了解,这就是你想要做的:
如果要输入路径:
Invoke-Command -Session $PSSession -Command {Remove-Item c:\windows}
或
使用路径作为变量,需要利用$Using:
关键字。这适用于 PoShv3 或更高版本。
$Path = 'C:\Windows'
Invoke-Command -Session $PSSession -Command {Remove-Item $Using:Path}
或
如果需要经典,可以通过-argumentlist
参数将变量传入脚本块。您可以通过 $args
数组或参数块在脚本块中获取它们。当然,脚本块内部的变量名可以与外部不同。
$Path = 'C:\Windows'
Invoke-Command -Session $PSSession -Command {Param($Path) Remove-Item $Path} -ArgumentList $path