我遇到了net.exe
net localgroup administrators "domainname\G-%COMPUTERNAME%-LocalAdmins" /add
我被告知你可以通过PowerShell运行,但我没有成功。以下是我的想法:
powershell -command "& {([adsi]'LDAP://./localgroup,administrators').Add('LDAP://domainname/G-%COMPUTERNAME%-LocalAdmins,Administrators');}"
非常感谢任何协助。
答案 0 :(得分:1)
您可以从PowerShell运行外部命令(如for my $filename (@filenames) {
my $content = path($filename)->slurp_utf8;
say $content;
}
),就像从CMD运行它们一样。但是,如果要使用(环境)变量,则必须使用PowerShell变量语法(分别为net.exe
或$var
)。 PowerShell无法识别CMD /批处理变量语法($env:var
)。
这应该有效:
%var%
答案 1 :(得分:1)
每个微软:
<块引用>出于与 LAN Manager 2.0 向后兼容的原因,NET.EXE 命令不支持长度超过 20 个字符的名称。
是的,Windows 命令会将变量传递给 PowerShell。如果成员在同一个域中,则不需要包含它。使用 Add-LocalGroupMember cmdlet。
PowerShell Add-LocalGroupMember -Group Administrators -Member 'G-%COMPUTERNAME%-LocalAdmins'
答案 2 :(得分:0)
经过一天左右的研究,我找到了Jaap Brasser的微软论坛。他编写了一个脚本,我可以用我的参数调用它并开始工作......
powershell.exe -ExecutionPolicy Bypass -file&#34; \ server \ pub \ DomainAdmin \ SetADAccounts.ps1&#34; -Computer%COMPUTERNAME%-Trustee domainname \ G-%COMPUTERNAME%-LocalAdmins
感谢您的投入..