我要通过批处理文件重置IIS。使用iisreset实用程序,因为其他可能在没有目标服务器的管理员帐户的情况下登录域的其他人将使用批处理文件。如何使用适当的权限运行批处理脚本?提前谢谢!
我也不想提示用户输入用户名/密码,因为其他程序会调用批处理文件。
答案 0 :(得分:4)
问题1:从批处理远程重置。我更喜欢sc.exe
示例
sc \\webserver stop w3svc
sc \\webserver start w3svc
SC没有IISRESET那么重。实际上,我更喜欢使用WMI来回收应用程序池,但通过批处理
这很棘手问题2:允许目标服务器上不是管理员的用户重置IIS。
您要么必须授予这些用户(或其组)权限,以便在某处控制服务或存储凭据。要授予最低权限,请参阅此KB - 很多工作。
如果您未授予执行批处理权限的人重启服务,请参阅Rusell's answer - 创建WCF服务。
答案 1 :(得分:2)
您可以创建执行此命令的Windows服务(例如,使用.net WCF)。然后,该服务可以使用具有管理员访问权限的凭据运行。
您的其他程序可以远程调用此服务。
答案 2 :(得分:1)
“iisreset 计算机名称”将重置IIS服务器。虽然我不确定如何更改批处理文件中的用户帐户,但这可能是一个安全问题,因为批处理文件(我确信您知道)以纯文本格式存储。
PS。这在ServerFault上可能会更好