我需要以下方面的帮助。 我必须远程更改IIS日志位置以获取IIS服务器列表。
本地我可以使用:
Set-ItemProperty'IIS:\ Sites \ Default网站'-name logFile.directory -value'loglocation'
我需要一些关于如何远程在多个IIS主机上运行此命令的建议。 你能给我一些指导吗?
类似的东西:
$ hosts = get-content'path' foreach($ hosts中的计算机)
{ Set-ItemProperty'IIS:\ Sites \ Default Web Site'-name logFile.directory -value'loglocation' } 但不知何故,在Set-itempropriety中指定$ computer。 我读过一些关于pspath的内容,但不确定这是否有帮助。 感谢
答案 0 :(得分:1)
您可以使用Invoke-Command
:
$Hosts = @("Host1", "Host")
$LogPath = "xyz"
foreach($Host in $Hosts)
{
Invoke-Command -ComputerName $Host -ScriptBlock {
'Your code here'
Set-ItemProperty 'IIS:\Sites\Default Web Site' -name logFile.directory -value $using:LogPath
}
}
如果您需要在Invoke-Command
ScriptBlock中使用外部作用域中的变量,可以使用$using
答案 1 :(得分:0)