Powershell для копирования файлов, передачи исходного пути, строки поиска и пути назначения в качестве параметров - PullRequest
0 голосов
/ 12 сентября 2018
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"

Я не вижу никаких ошибок выполнения ифайлы тоже не копируются.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 13 сентября 2018

Вы используете 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...