2016-05-26 7 views
1

я столкнулся с ограничением символов для net.exeЯ пытаюсь выполнить команду пакетное из PowerShell

net localgroup administrators "domainname\G-%COMPUTERNAME%-LocalAdmins" /add 

Я сказал вы можете запустить это через PowerShell, но я не увенчались успехом. Вот что я придумал:

powershell -command "& {([adsi]'LDAP://./localgroup,administrators').Add('LDAP://domainname/G-%COMPUTERNAME%-LocalAdmins,Administrators');}" 

Любая помощь была бы принята с благодарностью.

ответ

0

Через день или около того исследования я нашел майкрософт форум по Яап Brasser. Он написал сценарий, который я мог бы использовать с моими параметрами и работать ...

powershell.exe -ExecutionPolicy Bypass -file "\ server \ pub \ DomainAdmin \ SetADAccounts.ps1" -Компьютер% COMPUTERNAME% -Trustee имя_домена \ G-% COMPUTERNAME% -LocalAdmins

Спасибо за ваш вклад ..

+0

https://gallery.technet.microsoft.com/scriptcenter/Add-AD-UserGroup-to-Local-fe5e9239 – Wayne

1

Вы можете запускать внешние команды (например, net.exe) у PowerShell практически так же, как вы можете запускать их из CMD. Однако, если вы хотите использовать переменные (окружение), вы должны использовать синтаксис переменной PowerShell ($var или $env:var соответственно). PowerShell не распознает синтаксис CMD/пакетной переменной (%var%).

Это должно работать:

net localgroup administrators "domainname\G-${env:COMPUTERNAME}-LocalAdmins" /add 
+0

ОК спасибо ... Я буду стараться, что пост, как далеко я получаю ... подождите, чистая команда, которую я должен был работать с более короткой переменной, просто не с моей (что превышает 20 символов). Мне сказали, что вы сможете выполнить это действие с помощью командной строки cmd, чтобы преодолеть ограничение на 20 символов в net cmd. Однако я рассмотрю $ env: var и посмотрю, могу ли я вызвать скрипт для выполнения этого действия вместо простого cmd. – Wayne

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