Skip to content

Commit 01aa6d1

Browse files
authored
vSphere Tagging and CustomAttributes scripts
1 parent 6e02f51 commit 01aa6d1

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
Import-Module VMware.VimAutomation.Core
3+
Connect-VIServer marvel.vcloud-lab.com
4+
}
5+
6+
$dataCenterName = 'DatacenterName'
7+
$clusterName = 'ClusterName'
8+
9+
######################################
10+
Custom Attributes example
11+
######################################
12+
Get-Datacenter $dataCenterName | Get-Cluster | Select-Object Name, @{N='CMDBID'; E={($_.CustomFields | Where-Object {$_.Key -eq 'CMDBID'}).value}}
13+
Get-Datacenter $dataCenterName | Get-Cluster $clusterName | Set-Annotation -CustomAttribute 'CMDBID' -Value 'CLU0000001111'
14+
15+
{
16+
$csv = Import-Csv CMDBData.csv
17+
18+
foreach ($data in $csv)
19+
{
20+
Get-Cluster $data.Cluster | Set-Annotation -CustomAttribute 'CMDBID' -Value $data.CMDBID
21+
}
22+
}
23+
24+
##############################
25+
#View current TagAssignment
26+
Get-Datacenter $dataCenterName | Get-Cluster | Get-TagAssignment | Select-Object Entity, Tag
27+
Get-TagAssignment -Entity (Get-Cluster $clusterName) | Select-Object Entity, Tag
28+
29+
#set an existing tag to a entity
30+
New-TagAssignment -Entity (Get-Cluster $clusterName) -Tag 'CMDBID'
31+
32+
##############################
33+
#Create a new Tag Category
34+
New-TagCategory -Name CMDBID -Cardinality Single -EntityType Cluster
35+
36+
#Create a new tag with value and assigne to entity
37+
$tag = New-Tag -Name CLU0000002222 -Category CMDID -Description 'Test Comment'
38+
Get-Cluster -Name $clusterName | New-TagAssignment -Tag $tag
39+
40+
##############################
41+
#Assign Tags from CSV file - Incomplete
42+
43+
$allTags = Get-Tag
44+
$csv = Import-Csv C:\temp\data.csv
45+
46+
foreach ($data in $csv)
47+
{
48+
$currentConf = Get-TagAssignment -Entity (Get-CLuster $data.Cluster) #| Select-Object Entity, Tag
49+
foreach ($conf in $currentConf)
50+
{
51+
if (($conf.Tag.Category.Name -eq 'CMDBID') -and ($conf.Tag.Name -eq $data.CMDBID))
52+
{
53+
'Test'
54+
break
55+
}
56+
#Add elseif - if $conf.tag.name not equals to $data.CMDBID, Remove or set-tag
57+
else
58+
{
59+
$tag = New-Tag -Name $data.CMDBID -Category CMDBID
60+
Get-Cluster -Name $data.Cluster | New-TagAssignment -Tag $tag
61+
}
62+
}
63+
}

0 commit comments

Comments
 (0)