gpt4 book ai didi

powershell - 无法将参数绑定(bind)到参数 "FilePath",因为它为空

转载 作者:行者123 更新时间:2023-12-02 23:13:14 27 4
gpt4 key购买 nike

每次我运行下面的脚本时,我都会得到

Cannot bind argument to parameter 'FilePath' because it is null.



昨晚还在工作。没有进行任何更改,今天早上它只是失败了。有趣的是,如果我保存脚本然后运行它,它就可以工作。但是,如果我清除控制台然后再次运行它会失败。

我错过了一些明显的东西吗?

New-Item -ItemType Directory -Force -Path C:\NonStandard_Services
set-location C:\NonStandard_Services
$Computers= Get-Content C:\computers.txt
$Report= $file
$file= $Computer
ForEach ($Computer in $Computers)
{
Get-WmiObject -ComputerName $Computer -class Win32_Service -ErrorAction SilentlyContinue |
Where-Object -FilterScript {$_.StartName -ne "LocalSystem"}|
Where-Object -FilterScript {$_.StartName -ne "NT AUTHORITY\NetworkService"} |
Where-Object -FilterScript {$_.StartName -ne "NT AUTHORITY\LocalService"} |
Select-Object -Property StartName,Name,DisplayName|
ConvertTo-Html -Property StartName,Name,DisplayName -head $HTML -body "<H2>Non- Standard Service Accounts on $Computer</H2>"| Out-File $Report -Append}
#Rename-Item c:\GP_Services\Report.htm $file
Get-ChildItem | Where-Object {$_.extension -ne ".htm"} | Rename-Item -newname { $_.name + '.htm' }

最佳答案

$Report= $file
$file= $Computer
ForEach ($Computer in $Computers)
{
...
}


在变量本身被赋值之前,您将变量分配给其他变量。将上面的内容更改为:

ForEach ($Computer in $Computers) {
$file = $Computer
$Report = $file
...
}

或者直接使用 $ComputerOut-File :

... | Out-File "$Computer.txt" -Append

关于powershell - 无法将参数绑定(bind)到参数 "FilePath",因为它为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30664291/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com