Powershell在网络共享文件夹中循环显示计算机和计数文件列表

时间:2016-12-13 01:04:36

标签: powershell

从我的服务器到远程计算机,一个内衬工作正常。我想把我的一个衬垫转换成ForEach循环。我想循环遍历我环境中的所有计算机。

一个班轮:

Write-output (Get-ChildItem '\\mycomputer\C$\Program Files\OSC\LogGen\LOGS').Count 

ForEach尝试(不工作)foreach遍历计算机列表并返回列表中每台计算机的计数结果。

$computerlist = gc "D:\computerlist.txt"

ForEach ($host in $computerlist) { 
Write-Output (Get-ChildItem "\\$host\C$\Program Files\LOGS").Count
}

1 个答案:

答案 0 :(得分:4)

尝试查看ps驱动器,它们非常整洁,我现在到处都使用它们。

New-PSDrive -Name U -PSProvider FileSystem -Root "\\$PC\C$"

这将创建一个名为U:的新驱动器,您可以像网络驱动器一样进行交互。主要区别在于此驱动器仅存在于脚本范围内。在循环中创建驱动器时,其关键在于关闭驱动器以释放下一次迭代的字母。

ForEach ($PC in $computerlist) { 
    New-PSDrive -Name U -PSProvider FileSystem -Root "\\$PC\C$"
    Write-Output (Get-ChildItem "U:\Program Files\LOGS").Count
    Remove-PSDrive U -force
}