Powershell特殊字符/自动构建 - PSRemoting

时间:2014-05-15 17:23:16

标签: powershell powershell-remoting

我正在使用Teamcity和Powershell来自动化少量构建。 Teamcity在帐户A下运行。很少有可执行文件需要在帐户B下运行。帐户B可以访问DB(windows auth集成安全访问),并且需要在安装时创建几个表。帐户B的密码保存在文本文件中。我对此几乎没有任何问题。

1)帐户B可以包含任何特殊字符。我正在读取XML文件(因为此文件可以保存在只有帐户A可以访问的位置)和新的PSCredential来进行PSRemoting。我正在使用像

这样的东西
$secpasswd = ConvertTo-SecureString $passwordFromXMLFile -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("username", $secpasswd)

$ PasswordFromXMLFile可以包含任何特殊字符。我该怎么处理这个?

2)当我尝试在帐户B的上下文中运行可执行文件(在我以某种方式使用此帐户进行转义和连接之后),我看到可执行文件在匿名帐户下运行,而不是在域名\ B帐户下运行。是否有一些设置需要确保它在帐户B下运行。

我的代码看起来像 - 这不是我刚刚提取一些相关部分的确切代码。

$secpasswd = ConvertTo-SecureString $passwordFromXMLFile -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("B", $secpasswd)
$session = New-PSSession -ComputerName $serverName -Credential $mycreds
我看到会话连接正常。到电脑
$scriptblock = {
    Start-Process $exeName $arguments - wait
}
invoke-command -session $session -scriptblock  $scriptblock

思考? Start-Process运行但它在匿名权限而不是帐户B上执行。

0 个答案:

没有答案