Powershell复制文件,传递源路径,搜索字符串和目标路径作为参数

问题描述 投票:0回答:1
param([string]$username,[string]$path,[string]$searchstr,[string]$destination) 
$password = Get-Content "C:\Users\V70070\Desktop\mysecurestring.txt" 
$secstr = New-Object -TypeName System.Security.SecureString $password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)} 
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr 

Invoke-Command -ComputerName 10.82.21.154 -ScriptBlock { Get-ChildItem -Path $path -Recurse | Where-Object {$_.Name -like $searchstr} | Copy-Item -Destination $destination} -credential $cred

以上命令保存在“C:\ Users \ V70070 \ Desktop \ script5.ps1”中,我执行powershell脚本为

& "C:\Users\V70070\Desktop\script5.ps1" "V70070" "D:\Sett-Trans-New\InputFiles\Transmission\KDV\OasisNITS\Negative_Backup" "*Data*" "D:\Sett-Trans-New\InputFiles\Transmission\KDV\OasisNITS"

我没有看到任何执行错误,也没有复制文件。任何帮助表示赞赏。

powershell automation
1个回答
0
投票

你在使用PS v 2.0吗?

$Using:仅适用于3.0。

你可以在Param()中使用Invoke-Command

Invoke-Command -ComputerName 10.82.21.154 -ScriptBlock {
    Param($Path)
    Get-ChildItem -Path $path -Recurse | Where-Object {$_.Name -like $searchstr} | Copy-Item -Destination $destination
} -credential $cred -Argumentlist $Path
© www.soinside.com 2019 - 2024. All rights reserved.