C#通过代码调用PowerShell
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的更多相关文章
- C#中调用PowerShell代码
在C#中调用PowerShell代码,很多时候Add是不好使的!要用AddScript!记录一下! using (Runspace runspace = RunspaceFactory.CreateR ...
- 快速找出System.Management.Automation.dll,c#调用powershell
public static void InvokeSystemPS(string cmd) { List<string> ps = new List<string>(); ps ...
- C# 调用PowerShell方法
PowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段.使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了 ...
- 在Bat批处理中调用Powershell脚本
##如何在BAT中调用powershell,把下面代码另存为bat格式pushd %~dp0powershell.exe -command ^ "& {set-executionp ...
- ngui中 代码调用按钮事件(后来改成了按钮绑定键盘..)
ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 ...
- 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
问题:3行代码 PDF.NET是一个开源的数据开发框架,它的特点是简单.轻量.快速,易上手,而且是一个注释完善的国产开发框架,受到不少朋友的欢迎,也在我们公司的项目中多次使用.但是,PDF.NET比起 ...
- 我也谈谈 代码调用存储过程超时,SQL Server Management Studio里运行很快的问题
最近遇到了一个问题就是 一个执行速度很快的存储过程,在代码中调用的时候却超时了. 后来看到了两篇文章: 其中一篇是这样介绍的 今天同事用代码调用存储过程时超时,在SQL Server Manageme ...
- 存储过程系列之存储过程sql数据库调用和程序代码调用
1.存储过程,无参数的存储过程 创建无参数存储存储过程 Create Procedure DCEMREMR_TEMPLATEAs SELECT TOP 10 [FILENAME],[FILETITLE ...
- C#调用PowerShell脚本
今天通过一个小例子,学习了C#如何调用PowerShell脚本文件的Function以及传参. private bool CallPowershell(string outputFile) { str ...
随机推荐
- 【gitlab】首次提交本次代码到gitlab上,报错:Updates were rejected because the remote contains work that you do
首次提交本次代码到gitlab上,报错:Updates were rejected because the remote contains work that you do 报错情况如下: 错误原因: ...
- VisualStudio:如何监控 ADO.NET?
背景 很多场景下我们都需要监控 ADO.NET,如:查看某些框架(ORM)生成的 SQL.如何在不能使用 SQL Profile 的情况下监控 SQL 呢?VS 为我们提供了一个工具,本文做一些介绍! ...
- Android组件化方案
Android组件化项目地址:Android组件化项目AndroidModulePattern Android组件化之终极方案地址:http://blog.csdn.net/guiying712/ar ...
- SVG.js 基础图形绘制整理(一)
一.矩形 //指定width和height 画矩形 //返回rect对象 var draw = SVG('svg1').size(300, 300); var rect = draw.rect(100 ...
- Caffe SSD的resize过程解析
问题描述在windows平台上,本地训练SSD_512得到了对应的权值参数文件,加载模型进行前向测试的时候,发现调用caffe.io.Transformer中的resize处理函数速度太慢,打算用op ...
- [转]MySQL事务学习-->隔离级别
From : http://blog.csdn.net/mchdba/article/details/12837427 6 事务的隔离级别 设置的目的 在数据库操作中,为了有效保证并发读取数据的正确性 ...
- spring boot成功启动后访问报错404的问题
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as ...
- 数学图形之贝塞尔(Bézier)曲面
前面章节中讲了贝塞尔(Bézier)曲线,而贝塞尔曲面是对其多一个维度的扩展.其公式依然是曲线的公式: . 而之所以由曲线变成曲面,是将顶点横向连了再纵向连. 很多计算机图形学的教程都会有贝塞尔曲面的 ...
- hdu 3660 Alice and Bob's Trip(树形DP)
Alice and Bob's Trip Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Go语言之进阶篇爬百度贴吧并发版
1.爬百度贴吧并发版 示例: package main import ( "fmt" "net/http" "os" "strco ...