如何转换此PowerShell脚本以创建到C#代码的简单URL?

时间:2018-04-15 14:26:25

标签: c# powershell active-directory

我花时间在PowerShell中创建它只是为了意识到我需要在C#中使用一个简单的EXE来创建这个URL,它将创建这个URL并将浏览器启动到该URL。基本上它是从AD获取本地登录用户的电子邮件地址及其计算机名称,并使用JSON将其提交给另一个表单。

    $email = ([adsi]"LDAP://$(whoami /fqdn)").mail  
    $workstation =  $env:computername

    $url = 'https://www.cognitoforms.com/SupportRequestForm?entry={{"CreateSupportTicket":{{"Workstation":"{0}","YourEmailAddress":"{1}","ConfirmEmail":"{1}"}}}}' -f $workstation, $email.value

有人可以帮助我将其转换为C#吗?

1 个答案:

答案 0 :(得分:3)

我没有在这里安装Active Directory进行测试,但我希望这有帮助。对于初学者,在代码中包含System.DirectoryServices.AccountManagement之前,在解决方案资源管理器的“引用”节点中添加对using System.DirectoryServices.AccountManagement;的引用。然后尝试以下代码:

string email = UserPrincipal.Current.EmailAddress;
string url = string.Format("https://www.cognitoforms.com/SupportRequestForm?entry={{\"CreateSupportTicket\":{{\"Workstation\":\"{0}\",\"YourEmailAddress\":\"{1}\",\"ConfirmEmail\":\"{1}\"}}}}", Environment.MachineName, email);
Console.WriteLine(url);

如果你需要fqdn,请使用:

string fdqn = System.Net.Dns.GetHostEntry(Environment.MachineName).HostName;