2014-02-19 1 views
2

Я пишу сценарий, чтобы Powershell запрашивал ПК для папки, а затем вводил текст в электронную таблицу Excel, если папка существует. Все работает, но я не могу получить переменную $ path, чтобы вытащить атрибут name из переменной $ StrComputer.

$HELLO = Get-QADComputer -SearchRoot "%OU%" -LdapFilter "(Name=COMPUTERNAME)" -IncludedProperties pwdLastSet -SizeLimit 0 | select-object name, pwdLastSet, SamAccountName, lastLogonTimestamp 

foreach ($strComputer in $HELLO) 
{ 
$path = null 
$path = "\\$strComputer.name\c$\Program Files\folder" 
    If((Test-Path -Path $path) -eq $true) 
     { 
     $c.Cells.Item($intRow, 15) = ("folder") 
     } 
} 

Когда я переключить точку останова на "Если ((Test-Path -Path $ путь) -eq $ верно)" и наведите курсор мыши на $ путь я получаю полный спектр возвращается: $ PATH = \ (@ {name = COMPUTERNAME; pwdLastSet = 01/31/2014 11:09:20; SamAccountName = COMPUTERNAME $; lastLogonTimestamp =}. name) \ c $ \ Program Files \ Folder

Как это получить? атрибут из массива и вставить правильно, чтобы получить $ path = \ COMPUTERNAME \ c $ \ Program Files \ Folder?

Заранее благодарен!

ответ

6

Изменить это $ strComputer.name

Для этого $ ($ strComputer.name)

Когда вы заключите переменную в двойных кавычках, он не будет забрать имущество, чтобы поменять его, если вам окружите его $().

+0

Спасибо! Работала отлично. Этот сайт скалы! – n00b

Смежные вопросы