2013-03-20 24 views
1

我需要从PowerShell调用Setspn.exe。 但任何尝试都失败:无法从PowerShell调用setspn

setspn; 
Setspn; 
invoke-expression "setspn"; 
start-process setspn; 

但我可以启动cmd,然后我可以从命令行调用SETSPN。

+2

“失败“涵盖了很多领域。你能更具体一些/有帮助吗? – mjolinor 2013-03-20 10:43:56

+0

术语'setspn'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。 – deeptowncitizen 2013-03-20 12:14:04

+1

检查你的'$ env:PATH',看它是否包含'setspn.exe'的路径。 – 2013-03-20 12:17:11

回答

0

如果您在PowerShell中遇到问题,请在CMD中打开它。

PS C:\> cmd /c 'setspn' 

记住CMD只返回文本不是对象。

0

您可以使用invoke运营商&

& 'C:\Windows\System32\setspn.exe' 

如果要添加参数SETSPN电话,你可以把它们放在一个阵列,并将其添加到调用

$param = ('-L','SANDY.sqladmin.lan') 
& 'C:\Windows\System32\setspn.exe' $param