Чому працює сценарій Powershell за рядком, але той самий файл, що виконує скрипт, не робить?


0

У Windows 7 Prof, виконання в Windows Powershell_ISE (як адміністратора) команд Powershell (ver. 3) дає очікуваний результат (додавання користувача домену до локальної / машинної групи адміністраторів), але запуск його з файлу скрипта .ps1 у папці C:\Users\myDomainUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupне робить !?

$objGroup = [ADSI]("WinNT://myComputerName/Администраторы")'Administrators in Russian
$objUser = [ADSI]("WinNT://myDomainName/myDomainUser")
$objGroup.PSBase.Invoke("Add", $objUser.PSBase.Path)

Чому?
Як краще додати користувача домену до групи місцевих адміністраторів при перезавантаженні Windows 7?

Відповіді:


2

З міркувань безпеки (і на додаток до політики виконання сценарію) Microsoft встановила .ps1 файли для відкриття за допомогою блокнота. (Дурне Microsoft.) Заплановані завдання можуть бути кращим рішенням, але якщо ви хочете запустити скрипт із папки запуску, я б рекомендував розміщувати ярлик до сценарію під час запуску і зберігати сценарій деінде. Я використовую ярлики, які виглядають приблизно так:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file "C:\Scripts\Powershell\Tool.ps1"

Якщо ви використовуєте цей синтаксис, зауважте, що будь-які додаткові параметри, які ви могли б передати до посилань, повинні пройти перед параметром -file. Все, що знаходиться після -file, інтерпретується як шлях до сценарію, або варіант / аргумент, який слід передавати сценарію.


1

Ви можете спробувати запустити його за допомогою планувальника завдань.

Запустіть планувальник завдань (меню запуску, всі програми, аксесуари, системні інструменти, планувальник завдань). На правій панелі виберіть «створити завдання». Введіть назву завдання. Змініть користувача, якщо хочете. Виберіть "запустити з найвищими привілеями". На вкладці тригерів створіть тригер для "при вході" або "при запуску" в залежності від того, що ви хочете. На вкладці "Дії" створіть нову дію, яка вказує на сценарій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.