Проблема с Powershell с помощью Test-path - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь увидеть, на каких компьютерах есть папка команды. У меня есть файл .csv с именем pc3.csv, в котором перечислены все имена компьютеров. В то время как мой сценарий выполняется, в выходных данных отображаются только имена компьютеров, за которыми следует False (что соответствует схеме test-path, если хотя бы один из путей отсутствует.) Я хотел бы, чтобы он отображал имя компьютера и отображал, показывает ли он или нет тропинка. Вот мой код, любая помощь будет принята с благодарностью:

[CmdletBinding()] param()
Get-Content C:\script\pc3.csv
[string[]]$Computer = $env:computername

foreach ($Computer in $Computername) {
$a = Test-Path -path '\\$computer\c$\users\*\appdata\local\microsoft\teams'
 IF (-not $a) {Write-Host "$Computer this is not true"} ELSE {Write-Host "$Computer This is true"}
 }

1 Ответ

0 голосов
/ 24 января 2020

Я не уверен, какое значение $computername должно иметь то, что вы повторяете. Предполагается, что все содержимое текстового файла загружено в переменную. Эта переменная будет иметь массив каждой строки из вашей команды Get-Content.

Как только у вас есть список всех компьютеров и «Административный» доступ для просмотра c $ \ users *, вы можете запустить следующий фрагмент. Если у вас нет доступа ко всем системам, вы не сможете получить точные данные.

$computerList =  Get-Content C:\script\pc3.csv
foreach($computer in $computerList) {
  if (Test-Path "\\$computer\c$\users\*\appdata\local\microsoft\teams") {
    Write-Host "$computer This is true"
  }
  else {
    Write-Host "$computer This is not true"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...