在windows XP x64(我假设是win2k3)powershell 2.0上,将pscustomobjects的arraylist作为argumentlist参数传递给start-job,但scriptproperties只是从对象中消失(由get-member确认)。注意 pscustomobject 的属性确实返回得很好
有谁知道为什么?和/或有解决方法?
$dbs 是带有 pscustomobjects 的 arraylist,具有各种 noteproperties 和 scriptproperties。
一旦传递到 start-job,所有脚本属性都会消失,而注释属性工作得很好。
下面在 start-job 之外执行
$dbs | get-member
返回
ConnectionString NoteProperty System.String ConnectionString=server=...
DbType NoteProperty System.String DbType=Staging
CreateBackup ScriptMethod System.Object CreateBackup ();
GetBackup ScriptMethod System.Object GetBackup();
...
而
start-job -name $server -argumentlist $dbs,$server -scriptblock {
param($dbs, $server)
$dbs | get-member
}
退货
bool Equals(System.Object obj)
int GetHashCode()
type GetType()
string ToString()
System.String ConnectionString=server=...
System.String DbType=Staging