我想将我的IIS Bidings归档到csv或txt,我只是在使用该cmdlet玩一下:
Get-ChildItem -path IIS:\Sites
完美运行,也可以使用此命令完成outtiling到.txt:
Get-ChildItem -path IIS:\Sites | out-file "D:\_utils\PowerShell Scripts\IISexport\IISExport.txt"
但是一旦我将它包装到一个函数中,powershell就会尝试找到物理路径IIS:\ Sites当然不存在。
Get-ChildItem : Cannot find drive. A drive with the name 'IIS' does not exist.
At D:\_utils\PowerShell Scripts\IISReport.ps1:8 char:1
到目前为止,我的脚本非常简单:
$today = Get-Date -format M.d.yyyy
function IISexport
{
Get-ChildItem -path IIS:\Sites
}
IISexport | out-file "D:\_utils\PowerShell Scripts\IISexport\IISExport$today.txt"
我错过了什么?我想将其归档,因为我很乐意将其放入一个更大的脚本中,该脚本从xx webservers中删除了我的webbindings。
我认为这与env变量有关,这些变量已经在控制台中提供但不在我的脚本中。但我不知道如何管理它们。已经尝试get-childitem evn:
这给我带来了很多变数。
答案 0 :(得分:16)
在脚本顶部添加此行,它将导入必要的IIS模块:
Import-Module WebAdministration;
编辑,感谢@KyleMit:如果您没有安装WebAdministration,您可能需要先运行(使用提升的权限)
Import-Module ServerManager; Add-WindowsFeature Web-Scripting-Tools