我尝试使用批处理文件调用.PS1来生成仅包含用户名和其他电话号码详细信息的csv文件。我有脚本来生成csv文件。
Get-ADUser -Filter * -Properties otherTelephone |
select name, @{L='otherTelephone'; E={$_.otherTelephone[0]}} | sort-object otherTelephone | select-object -last 1000 |
Export-Csv C:\Test.csv -NoTypeInformation
我有批处理文件来提升PowerShell
powershell -noprofile -command "&{ start-process powershell -ArgumentList '-noprofile -file C:\Test.ps1' -verb RunAs}"
问题是当我尝试通过添加
导入系统模块时powershell.exe -ImportSystemModules
到powershell脚本的前面,CSV只返回标题信息,例如名字和其他电话。如果我手动导入模块,即右键单击导入系统模块,但是在我尝试在运行脚本之前加载模块时,脚本无效。
基本上我需要以管理员身份运行PS脚本,导入系统模块并让代码输出我的数据。
对于我出错的地方有任何帮助表示赞赏。
powershell.exe -ImportSystemModules Get-ADUser -Filter * -Properties otherTelephone |
select name, @{L='otherTelephone'; E={$_.otherTelephone[0]}} | sort-object otherTelephone | select-object -last 10 |
Export-Csv C:\Test.csv -NoTypeInformation
答案 0 :(得分:0)
如果需要在脚本中加载模块,请使用以下代码:
Get-Module -ListAvailable | Where-Object {$_.Path -like "$PSHOME*"} | Import-Module
-ImportSystemModules
开关是powershell.exe
的标志。如果在脚本内部调用powershell.exe -ImportSystemModules
,它将启动另一个PowerShell实例并加载其中的模块。
您还可以将-ImportSystemModules
添加到批处理文件中的powershell调用中。这也应该有用
此致