小编Tha*_*nos的帖子

会话0隔离的启动过程

在Windows 8.1上,我有一个启动PowerShell脚本的服务.该服务在Session 0 Isolation中以"nt authority\system"运行.我从PowerShell中生成的任何进程在Session 0 Isolation中作为"nt authority\system"运行.

我需要在会话0之外的用户帐户下运行脚本而不是系统帐户.我试过这个

Start-Process "$PsHome\PowerShell.exe" -Credential $pp -ArgumentList $script  -wait 
Run Code Online (Sandbox Code Playgroud)

和PsExec使用"-I 1"参数指定我想要的会话.

& PsExec.exe "Install.bat" -i 1 -accepteula -u "domain\user" -p "awesomePassword" -w "startdir" -h
Run Code Online (Sandbox Code Playgroud)

我尝试过设置"允许服务与桌面交互".

当我尝试从PowerShell或c#服务启动该过程时,我一直得到Access被拒绝的错误.

当我尝试使用服务上的c#进行转义时,这是一个示例异常.

System.ComponentModel.Win32Exception (0x80004005): Access is denied
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
Run Code Online (Sandbox Code Playgroud)

如何逃离会话0?

我可以重新编写c#代码以在不同的用户下启动进程.或者我可以重新编写调用的PowerShell脚本以作为用户启动另一个进程.无论我尝试什么,我似乎都无法突破会话0.

c# powershell windows-services session-0-isolation

6
推荐指数
1
解决办法
7921
查看次数

WinRT App的软件包系列安装了多个软件包.

当我去调试我们的应用程序时,我收到以下错误消息

Microsoft Visual Studio

无法激活Windows应用商店应用'xxxx'.激活请求失败并显示错误'此应用程序的软件包系列安装了多个软件包.这不受支持'.有关解决问题的建议,请参阅帮助.
好的帮助

当我挖出事件日志时,我发现了这个错误.

app xxx App的软件包系列(xxxx)安装了多个软件包.这不受支持,因此未针对Windows.Launch合同激活应用程序.

为了找出安装了哪些其他软件包,我运行以下PS脚本:

Get-AppxPackage -all 
Run Code Online (Sandbox Code Playgroud)

查看前一个脚本的输出,我只看到从visual studio位置安装的一个包.我从开始菜单中卸载了应用程序并再次运行脚本,并且没有安装任何内容.

该应用已签名,因此我无法更改包的系列名称.

我已按照/sf/answers/1003805281/中的步骤操作,但仍无法从VS或已安装的软件包运行我们的应用程序.

如何找到其他错误的包裹系列名称?挖掘注册表?

为了再次运行应用程序,我可以遵循哪些步骤?

c#-5.0 windows-runtime appx visual-studio-2013

4
推荐指数
1
解决办法
1492
查看次数

添加:用于索引到数组的C#表示法

我在大学时使用IDL和MatLab,现在我已经工作了几年,我想念:索引数组的符号.例如

arrray[1:5]  
Run Code Online (Sandbox Code Playgroud)

这将从1到5的元素返回一个数组.另一个例子是:

stringVar.Split(")".ToCharArray())[1:*]
Run Code Online (Sandbox Code Playgroud)

这将返回跳过第一个元素的字符串数组.

有没有人看过鞋角的方法:用C#表示?

我在一些解释语言和Perl或Python中看到它,不记得了.

我想知道这是否可以通过一些运算符覆盖来完成?

.net c#

2
推荐指数
1
解决办法
244
查看次数