2013-09-27 27 views
0

我有一個腳本在以管理員身份運行時運行正常,但在以普通用戶身份運行時出現Parse錯誤。有任何想法嗎?; enter image description here帶有1個參數的調用「Parse」的異常:輸入字符串的格式不正確

SCRIPT

`NeverExpires = 9223372036854775807; 
$ExpireMin = (Get-Date).AddDays(4); 
$ExpireMax = (Get-Date).AddDays(9); 

$Userlist = Get-ADUser -Filter * -Properties name, samaccountname, accountexpirationdate, enabled, distinguishedname, accountExpires | Where-object {($_.DistinguishedName -notlike "*OU=Terminated,OU=Users,OU=Home Office,DC=Domain,DC=com")} | 
Where-Object {$_.accountExpires -ne $NeverExpires ` 
-and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -lt $ExpireMax ` 
-and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -gt $ExpireMin } 

$Userlist | select name, samaccountname, accountexpirationdate, enabled, distinguishedname | export-csv $ReportName -notypeinformation 

Send-MailMessage -To $To -From $From -Subject $Subject -Body $Body -SMTPServer $SMTPServer -Attachments $ReportName 

Get-ADUser -Filter * -Properties accountExpires | 
Where-Object {$_.accountExpires -ne $NeverExpires ` 
-and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -lt $ExpireMax ` 
-and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -gt $ExpireMin } | ForEach { 
     $account = $_ 
     $manager = Get-ADUser -Identity $account -Properties EmailAddress,Manager | %{(Get-AdUser $_.Manager -Properties EmailAddress).EmailAddress}` 
+0

我建議您將值'$ _。accountExpires'寫入輸出,然後在以標準用戶身份運行腳本時檢查該值。也許這將爲根本問題提供進一步的線索。 –

+0

@KeithHill可能是一個特定的屬性爲普通用戶隱藏? – Mitul

+0

@Mitul可能但我會期望一個ArgumentNullException來代替。 –

回答

0

我要說的是$_.accountExpires爲空或者是因爲財產無法檢索或$_本身就是空。 Powershell將靜靜地將null轉換爲空字符串,導致解析無效的格式。請注意,Parse調用是完全不必要的,因爲powershell會自動嘗試爲您強制使用字符串,並且可能會給您提供更好的錯誤消息。儘管空值將被強制爲0。

+0

我添加了一個寫主機「$ _。accountExpires」,無論我是否以管理員身份運行,輸出都是「.accountExpires」。我應該嘗試徹底刪除解析行嗎? – user2402045

+0

@ user2402045以及建議$ _可能爲空,但是打印accountExpires屬性的語法不正確。 'write-host $ _。accountExpires'(注意:不含引號)或'write-host「$($ _。accountExpires)」'應該可以工作。 –

+0

我試過了,沒有引號,什麼也沒有顯示,所以它似乎證明它是空的。奇怪的是,它作爲管理員或用戶顯示爲空,並且以admin身份運行時不會收到消息。 – user2402045