1

我正在编写一组用于创建新 Active Directory 用户的脚本时遇到问题。此时,我正在尝试测试预期帐户名称是否已在使用中,以及是否存在同名文件夹。下面是我正在使用的示例:

$UserNameToCheck = 'TTesterson'

$SamTest = $null
$SamTest = Get-ADUser -filter {samAccountName -eq $UserNameToCheck} -Server XX-DC.domain.ca

$PathToTest = '\\FileServer\Users$\' + $UserNameToCheck
$FolderTest = Test-Path $PathToTest

if( ($SamTest -eq $null) -and ($FolderTest -eq $false) )
{#Set a flag here and do some stuff}

这是问题所在,当我运行我的脚本时,除非我将当前位置设置为 AD,否则我无法定位特定服务器(-server 参数):同样,我无法让 Test-Path 工作,除非我' m NOT set to be in AD:谁能解释为什么会发生这种情况,除了不断地在两者之间来回设置我的位置之外,我还能做些什么?

谢谢。

(编辑以将文件路径上的双引号更改为单引号)

4

1 回答 1

2

如果路径中没有显式驱动器(因为它是 UNC,所以没有),PowerShell 将假定它是当前 PSDrive/PSProvider 中的路径。要指定,请在路径前加上filesystem::.

像这样:

$PathToTest = 'filesystem::\\FileServer\Users$\' + $UserNameToCheck
于 2013-07-31T17:02:01.347 回答