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"
我没有看到任何执行错误,也没有复制文件。任何帮助表示赞赏。
你在使用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