var userId = "MyAccount@XXXXX.partner.onmschina.cn";
var tenantId = "XXXXX-ca13-4bcb-840d-d3c1638f63b1";
var tenantDomain = "XXXX.partner.onmschina.cn";
var subscriptionId = "XXXXXX-1fb0-4df7-8737-11b8d6bf88ed";
var subscriptionName = "ZS0_Sub_OTR"; WindowsAzure.Commands.Common.AzureRmProfileProvider.Instance.Profile = new AzureRMProfile("D:\\XXXX.json");
var azureAccount = new AzureAccount() { Id = userId, Type = AzureAccount.AccountType.User };
var env = AzureEnvironment.PublicEnvironments["AzureChinaCloud"];
var subscript = new AzureSubscription() { Id = Guid.Parse(subscriptionId), Name = subscriptionName };
var azureContext = new AzureContext(subscript, azureAccount, env, new AzureTenant { Domain = tenantDomain, Id = Guid.Parse(tenantId) });
WindowsAzure.Commands.Common.AzureRmProfileProvider.Instance.Profile.Context = azureContext;
WindowsAzure.Commands.Common.AzureRmProfileProvider.Instance.Profile.Save(); System.Management.Automation.PowerShell ps = System.Management.Automation.PowerShell.Create(System.Management.Automation.RunspaceMode.NewRunspace);
ps.Commands.Clear();
ps.AddCommand("Login-AzureRmAccount");
ps.Commands.Commands[ps.Commands.Commands.Count - ].Parameters.Add("-EnvironmentName", "AzureChinaCloud");
var objs = ps.Invoke();
foreach (var item in objs)
{
Console.WriteLine(item);
}
ps.Commands.Clear();
ps.Commands.AddCommand("Set-AzureRmContext");
ps.Commands.Commands[ps.Commands.Commands.Count - ].Parameters.Add("-SubscriptionName", "ZS0_Sub_OTR");
var sub = ps.Invoke(); //ps.Commands.Clear();
//ps.Commands.AddCommand("Save-AzureRmProfile");
//ps.Commands.Commands[ps.Commands.Commands.Count - 1].Parameters.Add("-Path", "D:\\XXXX.json");
//sub = ps.Invoke(); ps.Commands.Clear();
ps.Commands.AddCommand("Get-AzureRmKeyVault");
ps.Commands.Commands[ps.Commands.Commands.Count - ].Parameters.Add("-VaultName", "SxzKeyVault"); var result = ps.Invoke(); ps.Commands.Clear();
ps.Commands.AddCommand("New-AzureRmKeyVault");
ps.Commands.Commands[ps.Commands.Commands.Count - ].Parameters.Add("-VaultName", "SxzKeyVault3");
ps.Commands.Commands[ps.Commands.Commands.Count - ].Parameters.Add("-ResourceGroupName", "YungoalTest");
ps.Commands.Commands[ps.Commands.Commands.Count - ].Parameters.Add("-Location", "ChinaNorth"); result = ps.Invoke();

C#通过代码调用PowerShell的更多相关文章

  1. C#中调用PowerShell代码

    在C#中调用PowerShell代码,很多时候Add是不好使的!要用AddScript!记录一下! using (Runspace runspace = RunspaceFactory.CreateR ...

  2. 快速找出System.Management.Automation.dll,c#调用powershell

    public static void InvokeSystemPS(string cmd) { List<string> ps = new List<string>(); ps ...

  3. C# 调用PowerShell方法

    PowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段.使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了 ...

  4. 在Bat批处理中调用Powershell脚本

    ##如何在BAT中调用powershell,把下面代码另存为bat格式pushd %~dp0powershell.exe -command ^  "& {set-executionp ...

  5. ngui中 代码调用按钮事件(后来改成了按钮绑定键盘..)

    ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 ...

  6. 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架

    问题:3行代码 PDF.NET是一个开源的数据开发框架,它的特点是简单.轻量.快速,易上手,而且是一个注释完善的国产开发框架,受到不少朋友的欢迎,也在我们公司的项目中多次使用.但是,PDF.NET比起 ...

  7. 我也谈谈 代码调用存储过程超时,SQL Server Management Studio里运行很快的问题

    最近遇到了一个问题就是 一个执行速度很快的存储过程,在代码中调用的时候却超时了. 后来看到了两篇文章: 其中一篇是这样介绍的 今天同事用代码调用存储过程时超时,在SQL Server Manageme ...

  8. 存储过程系列之存储过程sql数据库调用和程序代码调用

    1.存储过程,无参数的存储过程 创建无参数存储存储过程 Create Procedure DCEMREMR_TEMPLATEAs SELECT TOP 10 [FILENAME],[FILETITLE ...

  9. C#调用PowerShell脚本

    今天通过一个小例子,学习了C#如何调用PowerShell脚本文件的Function以及传参. private bool CallPowershell(string outputFile) { str ...

随机推荐

  1. Quartz 定时任务设置某个时间区间每隔一定时间触发的cron表达式

    原文:https://blog.csdn.net/yansong_8686/article/details/46991189 Cron表达式 Quartz使用类似于Linux下的Cron表达式定义时间 ...

  2. 组织安全性SQL

    BEGIN mo_global.set_policy_context ('S', '&组织ID'); END; SELECT * FROM hr_organization_units_v;   ...

  3. java去除数组中重复的元素方法总结

    /* * ArrayUnique.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.s ...

  4. JavaScript中 location.host 与 location.hostname 的区别

    JavaScript 中,大多数情况下,我们不会发现 location.host 与 location.hostname 的区别,因为大多数情况下,我们的网页用的是 80 端口. 他们的区别: loc ...

  5. ios成长之每日一遍(day 2)

    接着下来简单说说Label(相当于android的textview)和button的使用, 由于都是与上篇的AppDelegate一致, 所以这一篇就说说ViewController与xib的使用呗. ...

  6. HTML5 本地文件操作之FileSystemAPI简介

    一.FileSystemAPI简介 HTML5的文件操作Api中 1.FileAPI,用于基础的客户端本地文件读取,目前大多数接口已经被主流浏览器支持,点击查看更多参考 2.FileSystemAPI ...

  7. [转]用国内软件源为Ubuntu的apt-get提速方法

    FROM : http://www.jb51.net/os/Ubuntu/45293.html 刚装好Ubuntu系统之后根据需要还要安装一系列的软件,最省心的办法就是通过apt-get来进行   默 ...

  8. HTTPS安全证书介绍

    IIS配置web SSL 安全证书Https访问 From : http://cao416451347ming.blog.163.com/blog/static/1154556162010217441 ...

  9. django的日志发往http server

    配置示例: # https://docs.djangoproject.com/zh-hans/2.1/topics/logging/ LOGGING = { , 'disable_existing_l ...

  10. C#中转义字符[转]

    https://www.cnblogs.com/muran/p/3174865.html 编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行. C#中转义字符分2中,一 ...