我的環境: Windows Server 2012中,PowerShell的4.0新的psdrive中缺少'server'選項?如何使用目錄服務命令連接到'ad lds'實例?
根據MSDN文檔,應該能夠掛載 '活動目錄' 或 'Active Directory輕型目錄服務' 使用新PSDrive來Cmdlet的。
摘自:http://technet.microsoft.com/en-us/library/hh852274(v=wps.620).aspx
您可以使用Active Directory模塊提供映射Active Directory域,AD LDS實例,並提供程序的特定驅動器的Active Directory數據庫裝載工具實例。首次加載Active Directory模塊時,會掛載一個默認的Active Directory驅動器(AD :)。要連接到該驅動器,請運行cd AD:命令。到一個新的供應商驅動器連接到Active Directory域,AD LDS服務器或Active Directory數據庫裝載工具實例,請使用以下的cmdlet:
New-PSDrive **–Server <server or domain name (NetBIOS/FQDN)[:port number]>** -Name <name of the drive> -PSProvider ActiveDirectory -Root "<DN of the partition/NC>" -Credential <domain name>\<username>
然而「服務器」選項不可用在new-psdrive Cmdlet中。我得到'找不到與參數名稱'server'匹配的參數。而且我也沒有在幫助中看到任何提及的服務器屬性:http://technet.microsoft.com/en-US/library/hh849829(v=wps.630).aspx
任何人都可以請讓我知道我在這裏失蹤了什麼?
PS C:\> Import-Module activedirectory
PS C:\> cd ad:
PS AD:\> New-PSDrive -Name z -PSProvider activedreictory -root "C=MyAdLDSInstance,DC=COM" -server "myserver:50000"
New-PSDrive : A parameter cannot be found that matches parameter name 'server'.
At line:1 char:82
+ ... stance,DC=COM" -server "myserver:50000"
+ ~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-PSDrive], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.NewPSDriveCommand
PS AD:\> $PSVersionTable
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.18449
BuildVersion 6.3.9600.16406
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
PS AD:\>
哇 - 就是這樣:)。我更關注「錯誤」信息 - 因爲我認爲參數的綁定首先發生,並假定它不能綁定到「服務器」參數。我不知道參數可以'動態'添加到基於提供者的'PowerSehll'(這裏:如您指出的'Active Directory')。順便說一句,你有沒有參考如何添加基於提供者的'動態'屬性?只是好奇 - 因爲我現在不需要。我暢通無阻:) – Dreamer
我不知道如何/何時執行參數綁定,因爲我沒有必要深入PS內部。我知道新版本會做一些有趣的伏都教。 – alroc
在這種情況下,這是另一種方式:psprovider爲cmdlet定義了動態參數。更多關於這可以在這裏找到:http://www.beefycode.com/post/Creating-a-PowerShell-Provider-pt-2-Initializing-the-Drive.aspx – BartekB