使用路径中的空格运行任何可能的Powershell脚本

时间:2018-06-22 12:02:16

标签: powershell path directory space

我在PC上遇到PowerShell的非常奇怪的行为。 我正在尝试从其中有空格的路径运行脚本(脚本中的内容无关紧要)。 例如,这个:

Import-Module activedirectory
$User1 = Read-Host "Enter User to copy Group-Memberships from"
$User2 = Read-Host "Enter User to past Group-Memberships to"
Get-ADUser -Identity $User1 -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members $User2 -PassThru | Select-Object -Property SamAccountName

当我从ISE或以前打开的PowerShell Windows中运行它时,它工作正常。但是,如果我尝试双击.ps1-File,它立即崩溃。它会打开一个PowerShell Windows,显示一个我必须使用屏幕录制工具捕获的错误消息,因为它仅在不到一秒钟的时间内消失了。错误消息说:

  

C:\ Users ### \ Desktop \ Member:术语'C:\ Users ### \ Desktop \ Member'不被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。   
行:1字符:1   
+ C:\ Users ### \ Desktop \ Member of \ Copy_AD_Member-of_DomainLocal.ps1   
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~           
+ CategoryInfo:ObjectNotFound:(C:\ Users ### \ Desktop \ Member:String)[],CommandNotFoundException           
+ FullyQualifiedErrorId:CommandNotFoundException

如您所见,脚本的路径为“ C:\ Users ### \ Desktop \ Member of \ Copy_AD_Member-of_DomainLocal.ps1”,脚本的父目录“ Member of”中有一个空格。

我用破折号代替空格后,就可以正常工作。

最初,我的目标是使脚本可运行,即使您将其移动到另一个目录,也无需以用户身份手动键入任何代码行。可以这样做吗?

0 个答案:

没有答案