Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 从CSV获取数据以从多个服务器删除用户文件夹_Powershell_Csv - Fatal编程技术网

Powershell 从CSV获取数据以从多个服务器删除用户文件夹

Powershell 从CSV获取数据以从多个服务器删除用户文件夹,powershell,csv,Powershell,Csv,我对powershell非常陌生,现在的情况是,我有一些不需要的用户文件夹,必须在不同的服务器上删除它们。所有服务器上的路径都是f.e.“\server1\hiddenshare$\username”我的CSV看起来像: ServerName,FolderName SERVER1,AAAA SERVER2,AAA1 SERVER3,AAA2 我正在尝试运行以下代码: $path = "C:\temp\servers_folders.csv" $ServerName = Import-Csv -

我对powershell非常陌生,现在的情况是,我有一些不需要的用户文件夹,必须在不同的服务器上删除它们。所有服务器上的路径都是f.e.“\server1\hiddenshare$\username”我的CSV看起来像:

ServerName,FolderName
SERVER1,AAAA
SERVER2,AAA1
SERVER3,AAA2
我正在尝试运行以下代码:

$path = "C:\temp\servers_folders.csv"
$ServerName = Import-Csv -Path $path
$FolderName = Import-CSV -Path $path
Import-Csv -Path $path | % {
  Remove-Item -Path \\$ServerName\hiddenshare$\$FolderName -Recurse
    }
毕竟我得到了这个错误:

Remove-Item : Cannot find path '\\  \$\  ' because it does not exist.
At C:\temp\servers_folders.csv.ps1:5 char:3
+   Remove-Item -Path \\$ServerName\hiddenshare$\$FolderName -Recurse
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\  \usr$\  :String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

您不需要多次导入csv。 在foreach块内,您必须通过
$\uu

试试这个,如果可以的话,移除-whatif

$servers=import-csv .\servers.csv

$servers | %{
    remove-item -path \\$($_.servername)\users$\$($_.FolderName) -whatif
}