簡體   English   中英

為什么我的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM