Лучший отвечающий
Проблема выполнения скрипта Win8 GPO \ powershell

Вопрос
-
Добрый день.
Вопрос 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 -List31 октября 2012 г. 8:54Отвечающий -
[computer]: PS C:\Users\user\Documents> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Unrestricted
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined31 октября 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Отвечающий