Почему test-path возвращает $ false для PSDrive? - PullRequest
2 голосов
/ 03 марта 2020

Я подключаю PSDrive с компьютера, на котором запущен SCCM, и пытаюсь создать тестовый путь, чтобы определить, создавать ли данный каталог или нет. Однако test-path возвращает $false для каталогов, которые действительно существуют (на самом деле я могу даже завершить пути в окне Po Sh)

Мой код подключения PSDrive выглядит следующим образом :

New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName -Scope global

Возвращает PSDrive как "КРАСНЫЙ", который возвращает $true результат:

PS C:\> test-path RED:\
True

Однако, когда я пытаюсь проверить что-либо ниже, он возвращает $false и если я пытаюсь создать новый элемент, он терпит неудачу

PS C:\> test-path RED:\Driver\Dell\WinPE\
False
PS C:\> new-item RED:\Driver\Dell\WinPE\
new-item : Path already exists.
At line:1 char:1
+ new-item RED:\Driver\Dell\WinPE\
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (OBFUSCATED\Driver\Dell\WinPE\:String) [New-Item], InvalidOperationException
    + FullyQualifiedErrorId : Path,Microsoft.PowerShell.Commands.NewItemCommand

(я запутал полное доменное имя машины)

Это то, что я получаю, если я запускаю get-item на путь:

PSPath                : AdminUI.PS.Provider\CMSite::OBFUSCATED\Driver\Dell
PSParentPath          : AdminUI.PS.Provider\CMSite::OBFUSCATED\Driver
PSChildName           : Dell
PSDrive               : RED
PSProvider            : AdminUI.PS.Provider\CMSite
PSIsContainer         : True
SmsProviderObjectPath : SMS_ObjectContainerNode.ContainerNodeID=16777240
ContainerNodeID       : 16777240
FolderFlags           : 0
FolderGuid            : 1DAF9853-75BE-4629-97EF-0689D9E02961
IsEmpty               : False
Name                  : Dell
ObjectType            : 25
ObjectTypeName        : SMS_Driver
ParentContainerNodeID : 0
SearchFolder          : False
SearchString          :
SourceSite            : RED

Я пытался указать CMSite:: во время работы test-path, и это тоже не помогло.

Любые идеи о том, что я делаю неправильно, чтобы отключить это

1 Ответ

0 голосов
/ 04 марта 2020

Исправление оказалось в конце очень простым.

Удаление завершающего sla sh, похоже, исправило это:

PS C:\> test-path RED:\Driver\Dell\WinPE\
False
PS C:\> test-path RED:\Driver\Dell\WinPE
True

Я не уверен точно почему это однако.

...