none
Проблема выполнения скрипта Win8 GPO \ powershell RRS feed

  • Вопрос

  • Добрый день.

    Вопрос 1:Написал скрипт для создания ярлыков.. в политике на OU с пользователем в сценарии powershell прописан так:

    имя сценария: \\pc1\Scripts\PowerShell\CreateLinks.ps1

    параметры: -noprofile -command

    При загрузке из под пользователя в Win7 все работает, а вот при Win8 запуске ничего непроисходит. Причем запуск вручную выдает ошибку,

    Set-ExecutionPolicy : Оболочка Windows PowerShell успешно обновила вашу политику выполнения, но данный параметр переопр
    еделяется политикой, определенной в более конкретной области. В связи с переопределением оболочка сохранит текущую поли
    тику выполнения "Unrestricted". Для просмотра параметров политики выполнения введите "Get-ExecutionPolicy -List". Для п
    олучения дополнительных сведений введите "Get-Help Set-ExecutionPolicy".
    строка:1 знак:46
    + if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process  ...
    +                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
        + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

    В чем проблема? При использовании invoke-command подтвердилось.

    Косяк в версиях PowerShell?

    И вопрос 2: при выборе в политике сценарии powershell окно не появляется...Оттуда окно консоли не мигает?

    И для чего нужна команда -windowstyle hidden

    Спасибо

    31 октября 2012 г. 8:12

Ответы

  • 1) Сценарий приведите

    2) ExecutionPolicy установлена через GP?

    3) -noprofile -command заменить на -noprofile -file

    4) "И вопрос 2: при выборе в политике сценарии powershell окно не появляется...Оттуда окно консоли не мигает?" - Сами понимаете о чем пишете?

    -WindowStyle
        Установить значение для стиля окна - Hidden(скрытый)

    Но на долю секунды окно будет появляться.

    • Помечено в качестве ответа JabBaton 31 октября 2012 г. 12:30
    31 октября 2012 г. 8:22
    Отвечающий

Все ответы

  • 1) Сценарий приведите

    2) ExecutionPolicy установлена через GP?

    3) -noprofile -command заменить на -noprofile -file

    4) "И вопрос 2: при выборе в политике сценарии powershell окно не появляется...Оттуда окно консоли не мигает?" - Сами понимаете о чем пишете?

    -WindowStyle
        Установить значение для стиля окна - Hidden(скрытый)

    Но на долю секунды окно будет появляться.

    • Помечено в качестве ответа JabBaton 31 октября 2012 г. 12:30
    31 октября 2012 г. 8:22
    Отвечающий
  • В ГПО настроил запуск скрипта до появления раб стола, вот и думал можт нормально срабатывает.

    ExecutionPolicy через GP

    $Path1clnk = ([environment]::getfolderpath("desktop")) + '\1.lnk'
    $Path1c="\\server\t\1.exe"

    $wshshell = New-Object -ComObject WScript.Shell

        $lnk = $wshshell.CreateShortcut($Path1clnk)
        $lnk.TargetPath = $Path1c
        $lnk.Save()

    А вкладка сценарии powershell в политиках для чего? Только чтобы не указывать путь к программе PS, а напрямую вводить путь до скрипта?

    31 октября 2012 г. 8:28
  • В ГПО настроил запуск скрипта до появления раб стола, вот и думал можт нормально срабатывает.

    ExecutionPolicy через GP

    $Path1clnk = ([environment]::getfolderpath("desktop")) + '\1.lnk'
    $Path1c="\\server\t\1.exe"

    $wshshell = New-Object -ComObject WScript.Shell

        $lnk = $wshshell.CreateShortcut($Path1clnk)
        $lnk.TargetPath = $Path1c
        $lnk.Save()

    А вкладка сценарии powershell в политиках для чего? Только чтобы не указывать путь к программе PS, а напрямую вводить путь до скрипта?

    А чем GPP не устроил,зачем скрипт городить?

    1) Параметры для скрипта,поэтому удаляем -noprofile -command

    2) Computer Configuration | Administrative Templates | Windows Components | Windows PowerShell and configure the Turn On Script Execution setting  - Какая политика задана?

    31 октября 2012 г. 8:34
    Отвечающий
  • 1. Скрипт будет удалять и создавать ярлыки также в зависимости от доступности сервера.

    2. Разрешить все неподписанные

    31 октября 2012 г. 8:51
  • 1. Скрипт будет удалять и создавать ярлыки также в зависимости от доступности сервера.

    2. Разрешить все неподписанные


    Вывод с проблемной машины: Get-ExecutionPolicy -List
    31 октября 2012 г. 8:54
    Отвечающий
  • [computer]: PS C:\Users\user\Documents> Get-ExecutionPolicy -List

                                      Scope                         ExecutionPolicy
                                      -----                         ---------------
                              MachinePolicy                            Unrestricted
                                 UserPolicy                               Undefined
                                    Process                               Undefined
                                CurrentUser                               Undefined
                               LocalMachine                               Undefined

    31 октября 2012 г. 9:00
  • А что за скрипт запускается,который выдает ошибку?

    + if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process ...

    31 октября 2012 г. 9:08
    Отвечающий
  • в теле скрипта у меня нет такой команды... в том то и дело. 

    Причем я запускаю на win7 и ошибок то никаких нету.

    А как запустить скрипт на win8 в режиме PS 2.0 ?

    где то читал что есть такая возможность. типа -version 2.0

    31 октября 2012 г. 9:30
  • Вывод из хоста PowerShell(не ISE),скрипт запустить:

    • Get-Content $profile
    • [Environment]::CommandLine
    • \\pc1\Scripts\PowerShell\CreateLinks.ps1
    31 октября 2012 г. 9:40
    Отвечающий
  • 1. ошибка, profile не существует

    2. PS C:\Users\TestUser> [Environment]::CommandLine

    "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe"

    3. \\pc1\Scripts\PowerShell\CreateLinks.ps1

    В обоих системах тоже самое. 

    Win7 - ярлыки создались, Win8 - нет

    31 октября 2012 г. 9:52
  • 1. ошибка, profile не существует

    2. PS C:\Users\TestUser> [Environment]::CommandLine

    "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe"

    3. \\pc1\Scripts\PowerShell\CreateLinks.ps1

    В обоих системах тоже самое. 

    Win7 - ярлыки создались, Win8 - нет

    • Ошибки при запуске скрипта есть на Win8?
    • Win8 x64?
    • Запустить консоль с параметром -Sta, powershell -Sta и запустить скрипт
    31 октября 2012 г. 10:05
    Отвечающий
  • 1.ошибок нету, та строка появляется, когда щелкаю правой кнопкой на скрипте и запускаю

    2. win8 x86

    3. в cmd : powershell.exe -sta \\pc1\Scripts\PowerShell\CreateLinks.ps1

    ничего

    31 октября 2012 г. 10:34
  • Спасибо Kazun. Все гораздо проше. С компа сервер не пингуется, ничего и не выполняется. С маишной чтото, будем разбираться.

    Спасибо

    31 октября 2012 г. 10:38
  • 1.ошибок нету, та строка появляется, когда щелкаю правой кнопкой на скрипте и запускаю

    2. win8 x86

    3. в cmd : powershell.exe -sta \\pc1\Scripts\PowerShell\CreateLinks.ps1

    ничего


    В cmd набираем powershell.exe -sta и после загрузки вставляем \\pc1\Scripts\PowerShell\CreateLinks.ps1 в консоль,скрин приложите.
    31 октября 2012 г. 10:39
    Отвечающий