none
Powershell -непонятное поведение RRS feed

  • Вопрос

  • Всем доброго времени суток.

    Эти строки отрабатывают правильно на одном компутере, Windows 7, Enterprise, SP1 все обновления установлены 

    $Source = "\\sqlz\f$\backup"
    $TSFile = get-childitem $source -recurse | where-object {!$_.psiscontainer}
    $SF = $TSFile.FullName
    $SF

    И не отрабатывают на двух других компутерах, ошибок не выводится.

    Windows Server 2003 R2, Standard, SP 2 все обновления установлены. 

    Windows Server 2008 R2, Enterprise, SP 1 все обновления установлены.

    Подскажите, пожалуйста в чем может быть причина? 


    22 января 2013 г. 1:54

Ответы

  • Думаю,что на Windows 7 установлен PowerShell v3,поэтому вывод имен из массива проблем не вызывает.Для PowerShell v2:

    get-childitem $source -recurse | where-object {!$_.psiscontainer} |Foreach {$_.FullName}

    Как пример

    PowerShell v3:

    PS > (dir C:\).FullName
    C:\PerfLogs
    C:\Program Files
    C:\Users
    C:\Windows
    C:\autoexec.bat
    C:\config.sys
    
    PowerShell v2:

    PS > (dir C:\).FullName

    • Помечено в качестве ответа v_urak 22 января 2013 г. 4:56
    22 января 2013 г. 4:48
    Отвечающий

Все ответы

  • Думаю,что на Windows 7 установлен PowerShell v3,поэтому вывод имен из массива проблем не вызывает.Для PowerShell v2:

    get-childitem $source -recurse | where-object {!$_.psiscontainer} |Foreach {$_.FullName}

    Как пример

    PowerShell v3:

    PS > (dir C:\).FullName
    C:\PerfLogs
    C:\Program Files
    C:\Users
    C:\Windows
    C:\autoexec.bat
    C:\config.sys
    
    PowerShell v2:

    PS > (dir C:\).FullName

    • Помечено в качестве ответа v_urak 22 января 2013 г. 4:56
    22 января 2013 г. 4:48
    Отвечающий
  • А ведь смотрел версию на win 7, видел версию 3. Ступил.

    Спасибо.

    22 января 2013 г. 4:58