![](/img/trans.png)
[英]Why is my callback displaying different results in .NET and Powershell?
[英]why are my PowerShell results repeating?
美好的一天,
PowerShell新秀在這里...
如果我這樣輸出到屏幕:
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
Write-Host $databasePermission.PermissionState $databasePermission.PermissionType "TO" $databasePermission.Grantee
}
我得到了,這就是我想要的:
Grant CONNECT TO dbo
但是,如果我嘗試輸出到這樣的文本文件:
foreach($databasePermission in $database.EnumDatabasePermissions($user.Name))
{
"$databasePermission.PermissionState $databasePermission.PermissionType TO $databasePermission.Grantee" | Out-File $filename
}
我的結果重復如下:
[dbname] Database: cust_serv, Grant, CONNECT.PermissionState [dbname] Database: cust_serv, Grant, CONNECT.PermissionType TO [dbname] Database: cust_serv, Grant, CONNECT.Grantee
謝謝!
如果使用字符串訪問對象的屬性,則必須將其包含在$(...)
:
看一下兩者之間的區別
"$databasePermission.PermissionState"
和
"$($databasePermission.PermissionState)"
構造長字符串的好方法是使用字符串格式。 它更具可讀性(至少imo,因為您不必執行$($...)
等):
"{0} {1} TO {2}" -f $databasePermission.PermissionState,$databasePermission.PermissionType,$databasePermission.Grantee
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.