Tôi đang cố tìm một thư mục tệp trên danh sách các máy chủ từ xa. Tôi muốn:
- Sử dụng Powershell; lấy các mục tiêu từ tệp văn bản được phân tách bằng dấu phẩy, tức là server1,file1
Lưu ý: tệp khác nhau đối với mỗi máy chủ.
- Tìm kiếm các phân vùng C: và E: cho một tệp, ngay cả khi có nhiều hơn một phiên bản của nó
- Lấy thư mục tập tin
- Viết kết quả vào .csv
- Xem đầu ra trên cửa sổ chính của Powershell
Đây là kịch bản tôi đã làm việc với. Tôi không thể làm cho nó hoạt động bình thường. Tôi cần sự hỗ trợ:
$scriptpath = $MyInvocation.MyCommand.Path
$dir = Đường dẫn phân chia $scriptpath
$FileName = "$dir\Servers.txt"
$Data = gc $FileName
foreach ($Hàng trong $Data)
{
$Position = $Row.IndexOf(",")
$Server = $Row.Substring(0, $Position)
$File = $Row.Substring($Position + 1)
$CPart = @{
Tên = "CPP"
Đường dẫn = "\$Máy chủ\C$"
#Path = "Hệ thống tệp::\$Server\C$"
}
$EPPart = @{
Tên = "Phần tử"
Đường dẫn = "\$Máy chủ\E$"
#Path = "Hệ thống tệp::\$Server\E$"
}
@($CPart, $EPPart) | ForEach-Object {
if ($Server -like "*.mydomain.com") {$session = New-PSSession -Computer $Server -Credential MYDOMAIN\userid -ErrorAction Stop}
khác {$Session = New-PSSession -Computer $Server -ErrorAction Stop}
Gọi-Command -Session $Session -ScriptBlock {$Result = Get-ChildItem -Recurse -Path $_.Path | Where-Object {$_.Name -match '$File'};return $Result}
kết quả $
#$item = Get-ChildItem -Recurse -Path $_.Path | Where-Object {$_.Name -match '$File' -and }
#Write-Host $item
}
}
<#foreach ($Server trong $Servers)
{
"\$Máy chủ\C$" | Get-ChildItem -recurse -filter $FileList | Chọn Thư mục, Tên | Máy chủ ghi $_.Directory + "\" + $_.Name
"\$Máy chủ\E$" | Get-ChildItem -recurse -filter $FileList | Chọn Thư mục, Tên | Máy chủ ghi $_.Directory + "\" + $_.Name
}
$columnToGet = 0
$columns = gc $fileName |
%{ $_.Split(",")[$columnToGet] }
$cột
#>