Workspace-Guru

New-PVSDevices

Feb 18th, 2018
5,780
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <#  
  2.     .NOTES
  3.     ===========================================================================
  4.      Created on:    18-2-2018
  5.      Created by:    Chris Twiest
  6.      Organization:  Workspace-Guru.com      
  7.     ===========================================================================
  8.     .DESCRIPTION
  9.     This script will read in a CSV file with Devicenames, PVS MAC, PROD MAC, PROD IP and PVS IP.
  10.     It will create DHCP reservation in the PVS and PRODUCTION VLAN.
  11.     Then it will create these devices in Citrix Provisioning Serivces and add it to the Active Directory.
  12. #>
  13.  
  14. ### Parameters
  15. $CSVpath = "C:\temp\CitrixPVS.csv"
  16. $PVSSiteName = "Site"
  17. $PVSServerFQDN = "pvs01.domain.com"
  18. $PVSDHCPScope = "10.0.0.0"
  19. $PVSDHCPReplicationServer = "pvs02"
  20. $PRODDHCPServerFQDN = "dc01.domain.com"
  21. $PRODDHCPScope = "192.168.0.0"
  22. $PRODDHCPReplicationServer = "dc02.domain.com"
  23. $DomainName = "Domain.loocal"
  24. $OU = "Servers/Citrix/Desktops/Shared"
  25.  
  26. ### Read CSV
  27. $csv = Import-Csv $CSVpath -Delimiter ","
  28.  
  29. $csvHostnames = $CSV.Hostname
  30.  
  31. ### Create DHCP Resveration PVS LAN
  32.  
  33. foreach ($hostnames in $CSV)
  34. {
  35.    
  36.     $hostname = $hostnames.hostname
  37.     $MacPVS = $hostnames.MacPVS
  38.     $MacPVSReplace = $MacPVS -replace (":", "-")
  39.     $IPPvs = $Hostnames.IPPVS
  40.    
  41.     Add-DhcpServerv4Reservation -ComputerName $PVSServerFQDN -ScopeId $PVSDHCPScope -IPAddress $IPPVS -ClientId $MacPVSReplace -Description $Hostname -Name $Hostname -Type Dhcp
  42.    
  43. }
  44.  
  45. Invoke-DhcpServerv4FailoverReplication –ComputerName $PVSDHCPReplicationServer -Force
  46.  
  47.  
  48. ### Create DHCP Reservation Front End LAN
  49.  
  50. foreach ($hostnames in $CSV)
  51. {
  52.    
  53.     $hostname = $hostnames.hostname
  54.     $MacProd = $hostnames.MacProd
  55.     $MacProdReplace = $MacProd -replace (":", "-")
  56.     $IPProd = $Hostnames.IPProd
  57.    
  58.     Add-DhcpServerv4Reservation -ComputerName $PRODDHCPServerFQDN -ScopeId $PRODDHCPScope -IPAddress $IPProd -ClientId $MacProdReplace -Description $Hostname -Name $Hostname -Type Dhcp
  59.    
  60. }
  61.  
  62. Invoke-DhcpServerv4FailoverReplication –ComputerName $PRODDHCPReplicationServer -Force
  63.  
  64.  
  65. ### Create Devices Citrix PVS and create Computer account in DC's
  66.  
  67. Import-Module "C:\Program Files\Citrix\Provisioning Services Console\Citrix.PVS.SnapIn.dll"
  68.  
  69. foreach ($hostnames in $CSV)
  70. {
  71.    
  72.     $hostname = $hostnames.hostname
  73.     $MacPVS = $hostnames.MacPVS
  74.     $CollectionName = $hostnames.DeviceCollection
  75.    
  76.     $MacPVSReplace = $MacPVS -replace (":", "-")
  77.    
  78.     New-PvsDevice -SiteName $PVSSiteName -CollectionName $CollectionName -DeviceName $hostname -DeviceMac $MacPVSReplace
  79.     Add-PvsDeviceToDomain -DeviceName $hostnames.hostname -Domain $DomainName -OrganizationUnit $OU
  80. }
Advertisement
Add Comment
Please, Sign In to add comment