我有以下PowerShell脚本,我想从我的C#应用程序中运行。如何从C#运行PowerShell代码?
$adapters=(gwmi win32_networkadapterconfiguration)
Foreach ($adapter in $adapters){
Write-Host $adapter
$adapter.settcpipnetbios(2)
}
$nics=([wmiclass]'Win32_NetworkAdapterConfiguration')
Foreach($nic in $nics){
Write-Host $adapter
$nic.enablewins($false,$false)
}
这是我试过到目前为止,使用“使用System.Management.Automation ;,”,但剧本不工作。有人能指引我朝着正确的方向吗?
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-Process");
ps.AddArgument("$adapters=(gwmi
win32_networkadapterconfiguration)");
ps.AddArgument("Foreach($adapter in $adapters){");
ps.AddArgument(" Write - Host $adapter");
ps.AddArgument("$adapter $adapter.settcpipnetbios(2)}");
//WINS LMHOSTS lookup
ps.AddArgument("$nics = ([wmiclass]'Win32_NetworkAdapterConfiguration')");
ps.AddArgument("Foreach($nic in $nics){");
ps.AddArgument(" Write - Host $adapter");
ps.AddArgument("$nic.enablewins($false,$false)}");
是的,请参阅下面的例外。 –
“System.Management.Automation.ParameterBindingException”类型的未处理异常可能发生在System.Management.Automation.dll –
“Write-Host”中,并且ps.Invoke – Mardoxx