Get-Content:找不到路径'C:\ Servers.txt',因为它不存在

时间:2016-01-14 20:11:28

标签: powershell powershell-v2.0

我有一个下面的脚本,其中Servers.txt文件包含服务器列表。但是当我在脚本下面运行时:

$Result = @()

foreach($server in (gc .\Servers.txt)){

$computer = [ADSI](”WinNT://” + $server + “,computer”)
$Group = $computer.psbase.children.find(”Administrators”)

function getAdmins
{$members = ($Group.psbase.invoke(”Members”) | %{$_.GetType().InvokeMember(”Adspath”, ‘GetProperty’, $null, $_, $null)}) -replace ('WinNT://DOMAIN/' + $server + '/'), '' -replace ('WinNT://DOMAIN/', 'DOMAIN\') -replace ('WinNT://', '')
$members}

$Result += Write-Output "SERVER: $server"
$Result += Write-Output ' '
$Result += ( getAdmins )
$Result += Write-Output '____________________________'
$Result += Write-Output ' '
}



$Result > c:\results.txt

Invoke-Item c:\results.txt

我得到以下错误:

  

PS C:> C:\ LocalUsers.ps1 Get-Content:找不到路径   'C:\ Servers.txt',因为它不存在。在C:\ LocalUsers.ps1:3   焦炭:23   + foreach($ server in(gc<<<<<。\ Servers.txt)){       + CategoryInfo:ObjectNotFound:(C:\ Servers.txt:String)[Get-Content],ItemNotFoundException       + FullyQualifiedErrorId:PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

为什么我一直收到这个错误?我该如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

转到ControlPanel /外观和个性化设置/ FileExplore选项/查看,然后取消选中“隐藏已知文件类型的扩展名。 现在检查您的* .txt文件,可能会看到Computres.txt.txt删除最后一个.txt

答案 1 :(得分:1)

根据评论,您的txt文件位于C:的根目录中,并且 应该。问题是您的脚本确认相对于该txt文件的运行位置。我想如果你调用Get-Location,你会看到一条不同的路径,也可能是脚本运行的路径。

以下任一选项都是首选。

  1. 将脚本文件和txt移动到同一目录中。
  2. 调用路径时使用绝对路径。 foreach($server in (gc "c:\Servers.txt")){

答案 2 :(得分:1)

我遇到了类似的问题。 我错误的是我的文件夹选项设置为隐藏已知文件类型的扩展名,导致我的.txt文件实际上是.txt.txt文件。

答案 3 :(得分:0)

尝试改变 [{ "success": true, "children": [{ "id" : 1, "name": "Cars", "leaf": false, "expanded": true, "isvisible": true, "children": [{ "id" : 2, "name": "Mercedes-Benz", "leaf": true, "isvisible": true }, { "id" : 3, "name": "Audi", "leaf": true, "isvisible": true }, { "id" : 4, "name": "Ferrari", "leaf": true, "isvisible": true }] }] }] ...(gc .\Servers.txt)...

看看这个:https://technet.microsoft.com/en-us/library/hh849787.aspx

答案 4 :(得分:0)

您的Servers.txt文件位于其他位置或其扩展名不同。

使用Get-Location确保您位于Servers.txt文件的正确路径中。 使用dir查看您是否在目录中看到Servers.txt文件。

您的Servers.txt文件扩展名可能是Servers.txt.txt