I am trying to add TXT record programmatically into DNS. I have following input to set in "DescriptiveText":
RecordName ="dkim._domainkey"
DescriptiveText =
"v=DKIM1;d=mydomain.dk;g=*;k=rsa;p=asadadasdasdasdauoeuroeu/7mobrOH7IEtDbAILVJjULBPNZQkA7aoauDFLQsIrfgsOgCzSve2fZ7m4bNuSII""kTjT+T4MF/5MJgufpqF7tjEwiimhmw4mkZpfZ4wGXkCp46aLW/wmb9d8Nheu9/4gAaZ+eVuJo2GdgWp+hYOyu0JmoYR1g224kxYc0wDdRz7IgxvBTJZExd/EgodYJ8/lefZrnuAn3PY""v06zEBXVAARe3P2pyTSi8rICvdHbLZmIQ8rd07QuGc+5LvehfTiichcPKhdEFeynaEtJF8QgvRs5CibUkmOBYeJ5CA8re7Q2Ox59mu6GFjRPqqWg25gfEMV1yMzwo2owIDAQAB"
I used following code to add this TXT record:
WMIConnect("\Root\MicrosoftDNS")Dim TypeClass As ManagementClass = InitClass("MicrosoftDNS_TXTType")Dim inParams As ManagementBaseObject = TypeClass.GetMethodParameters("CreateInstanceFromPropertyData") inParams("DnsServerName")= Environment.MachineName inParams("ContainerName")= DomainName inParams("OwnerName")= OwnerNameDim DescriptiveText AsString=""ForEach Keys AsStringIn Txt.Split(" ") DescriptiveText &= Chr(&H22)& Keys & Chr(&H22)&","Next DescriptiveText = DescriptiveText.TrimEnd(",") inParams("DescriptiveText")= DescriptiveText inParams("RecordClass")=1 inParams("TTL")=14400 TypeClass.InvokeMethod("CreateInstanceFromPropertyData", inParams,Nothing) inParams.Dispose() TypeClass.Dispose()
I tried to pass "DescriptiveText" in following formats but all failed if sum of the length of all these strings is greater then 255 characters:
'Multiple strings enclosed in double quotes and Seprated By Space"v=DKIM1;d=mydomain.dk;g=*;k=rsa;p=asadadasdasdasdauoeuroeu2HtXmziFc2eL/7mobrOH7IEtDbAILVJjULBPNZQkA7aoauDFLQsIrfgsOgCzSve2fZ7m4bNuSII""kTjT+T4MF/5MJgufpqF7tjEwiimhmw4mkZpfZ4wGXkCp46aLW/wmb9d8Nheu9/4gAaZ+eVuJo2GdgWp+hYOyu0JmoYR1g224kxYc0wDdRz7IgxvBTJZExd/EgodYJ8/lefZrnuAn3PY""v06zEBXVAARe3P2pyTSi8rICvdHbLZmIQ8rd07QuGc+5LvehfTiichcPKhdEFeynaEtJF8QgvRs5CibUkmOBYeJ5CA8re7Q2Ox59mu6GFjRPqqWg25gfEMV1yMzwo2owIDAQAB"'Multiple strings enclosed in double quotes and Seprated By NewLine (VbCrLf)"v=DKIM1;d=mydomain.dk;g=*;k=rsa;p=AKKHUUKKKKKKKKKKIIIUIOIUI/7mobrOH7IEtDbAILVJjULBPNZQkA7aoauDFLQsIrfgsOgCzSve2fZ7m4bNuSII""kTjT+T4MF/5MJgufpqF7tjEwiimhmw4mkZpfZ4wGXkCp46aLW/wmb9d8Nheu9/4gAaZ+eVuJo2GdgWp+hYOyu0JmoYR1g224kxYc0wDdRz7IgxvBTJZExd/EgodYJ8/lefZrnuAn3PY""v06zEBXVAARe3P2pyTSi8rICvdHbLZmIQ8rd07QuGc+5LvehfTiichcPKhdEFeynaEtJF8QgvRs5CibUkmOBYeJ5CA8re7Q2Ox59mu6GFjRPqqWg25gfEMV1yMzwo2owIDAQAB"'Multiple strings enclosed in double quotes and Seprated By comma (,)"v=DKIM1;d=mydomain.dk;g=*;k=rsa;p=KKKJJHUYGTEWMNBBGHtXmziFc2eL/7mobrOH7IEtDbAILVJjULBPNZQkA7aoauDFLQsIrfgsOgCzSve2fZ7m4bNuSII","kTjT+T4MF/5MJgufpqF7tjEwiimhmw4mkZpfZ4wGXkCp46aLW/wmb9d8Nheu9/4gAaZ+eVuJo2GdgWp+hYOyu0JmoYR1g224kxYc0wDdRz7IgxvBTJZExd/EgodYJ8/lefZrnuAn3PY","v06zEBXVAARe3P2pyTSi8rICvdHbLZmIQ8rd07QuGc+5LvehfTiichcPKhdEFeynaEtJF8QgvRs5CibUkmOBYeJ5CA8re7Q2Ox59mu6GFjRPqqWg25gfEMV1yMzwo2owIDAQAB"
Here in this link it tells that single key should be consist of 255 characters i have 3-pair of keys under 255 but it won't allow to add record until sum of the length of all keys equal to 255. Any suggestions am i missing something?
If i keep sum of the length of all keys under 255 it works fine, else gives error "Generic Failure."
Let me add, if i keep length under 255 characters then multiple keys are set in DNS TXt record as it is as i pass them with sperater like:
'With Space
"my key1" "my key2" "my key3"
'With Comma
"my key1","my key2","my key3"
'With VbCrLf
Generic Failure error, wont except new line characters.
Faheem Akbar Sial