对于我的脚本,我在此文件夹中有2个文件,而且它们都具有相同的文件名,因此我的第一个脚本可以调用第二个脚本。
第一个文件(据我了解)是一个批处理文件,可让我以管理员身份运行PS脚本。
@ECHO OFF
PowerShell.exe -NoProfile -Command "& {Start-Process PowerShell.exe -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -Verb RunAs}"
PAUSE
第二个文件是我将编写PowerShell脚本的位置。就我而言,我希望整个脚本打印出当前映射的驱动器,然后在用户输入的情况下删除不需要的驱动器,然后根据需要添加任何新的驱动器。到目前为止,我一直坚持尝试打印当前映射的驱动器,因为每次执行批处理文件时,它都会执行我的PS文件,而PS.exe控制台为空,没有任何输出。如果我要运行PS ISE而不是在PS.exe中运行,它只会提供输出,我是否缺少某些东西?
$e = Get-WmiObject -Class Win32_MappedLogicalDisk | select Name, ProviderName
Write-Output $e
write-output "$e"
Write-Output "test"
cmd /c pause | out-null
答案 0 :(得分:0)
以管理员身份运行时可以访问用户模式映射
您必须设置一个注册表值
用于设置该注册表项的批处理代码
:: Keep Net Use Drives in UAC Mode
Set "Key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
Reg Add "%Key%" /f /v EnableLinkedConnections /t REG_DWORD /d 0x1