Asu*_*nez 3 c# powershell remote-access
我正在尝试使用 C# 中的 PowerShell 为远程机器创建一个简单的文件操作 API。
我能够Copy-Item向和从远程机器通过第一创建New-PSSession并执行Copy-Item一个额外参数小命令-ToSession/-FromSession $s,其中$s是通过所产生的一个可变New-PSSession。
我正在寻找一种方法来删除,添加和移动项目,但我已经坚持删除部分。MSDN 没有指定任何特定参数来代替-ToSession/-FromSession- 有没有其他方法可以使用 PSSession 删除文件?我想将连接到远程主机的“方式”限制在最低限度。
免责声明:我能够在 C# 中创建远程 PowerShell 客户端并远程运行命令,但我更愿意在客户端而不是主机上保持对进程的控制。
据我了解,这就是您想要做的:
如果要键入路径:
Invoke-Command -Session $PSSession -Command {Remove-Item c:\windows}
Run Code Online (Sandbox Code Playgroud)
或者
使用路径作为变量,您需要使用$Using:关键字。这适用于 PoShv3 或更高版本。
$Path = 'C:\Windows'
Invoke-Command -Session $PSSession -Command {Remove-Item $Using:Path}
Run Code Online (Sandbox Code Playgroud)
或者
如果你需要经典,你可以通过-argumentlist参数将变量传递到脚本块中。您可以通过$args数组或参数块在脚本块内选择它们。当然,脚本块内的变量名可以与外部的不同。
$Path = 'C:\Windows'
Invoke-Command -Session $PSSession -Command {Param($Path) Remove-Item $Path} -ArgumentList $path
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3983 次 |
| 最近记录: |