Setting Up for Linux Desktops

Table Of Contents
if (!(Test-Path $csvFile))
{
write-host -ForeGroundColor Red "CSV File $CSVFile not found"
exit
}
function IsNameInCsv($name)
{
$csvData = Import-CSV $csvFile;
foreach ($line in $csvData)
{
if($line.MachineName -eq $name)
{
Write-Host "$name exists in csv"
return $true;
}
}
Write-Host "$name does not exists in csv"
return $false;
}
$obj = [adsi]'LDAP://localhost:389/OU=Servers,DC=vdi,DC=vmware,DC=int';
foreach ($child in $obj.psbase.Children)
{
$machineName = $child.get("pae-DisplayName");
if(IsNameInCsv($machineName))
{
$machineAttributes = $child | get-member;
$machineAttributes = $machineAttributes -join ' ';
if ($machineAttributes -like "*pae-MemberDNOf*")
{
$desktopPool = $child.get("pae-MemberDNOf");
Write-Host "Skip $machineName, which is included by desktop pool $desktopPool";
}
else
{
Write-Host "Delete $machineName, which is in csv file and not included by any desktop
pool";
$child.distinguishedName;
$child.DeleteObject(0);
}
}
else
{
Write-Host "Skip $machineName, which is not in csv file";
}
Write-Host '--------------------------------------';
}
Chapter 7 Bulk Deployment of Horizon 7 for Linux Desktops
VMware, Inc. 97