2017-10-17 63 views
0

我想自動執行我們的審計流程,我們提供本地管理成員,目前這是通過截圖完成的。我將下面的代碼拼湊在一起,它提示輸入服務器名稱並使用本地管理員創建文件。但是這需要我重命名文件。
我希望能夠輸入服務器名稱,並且也可以是out-file名稱。我只是沒有看到通過森林的樹,我怎麼去了解它。很多附加文件名的東西,但我沒有看到任何重命名你創建的文件。 感謝Powershell out-file並命名文件

function get-localadmins { 
    [cmdletbinding()] 
    Param(
     [string]$computerName 
    ) 
    $group = get-wmiobject win32_group -ComputerName $computerName -Filter "LocalAccount=True AND SID='S-1-5-32-544'" 
    $query = "GroupComponent = `"Win32_Group.Domain='$($group.domain)'`,Name='$($group.name)'`"" 
    $list = Get-WmiObject win32_groupuser -ComputerName $computerName -Filter $query 
    $list | % {$_.PartComponent} | % {$_.substring($_.lastindexof("Domain=") + 7).replace("`",Name=`"", "\")} 
} 

$Workstation = Read-Host "Computer Name" 
get-localadmins $Workstation | Out-File c:\temp\ENTERSERVERNAME_LocalAdmin.txt 

回答

1

嘗試了這一點

| Out-File -FilePath "C:\Temp\${Workstation}_LocalAdmin.txt" -Append 
+0

我已經刪除了我的。你的錯誤糾正了我沒有發現的錯誤。 –

+0

只是一個提示,你可以利用花括號,而不需要過多地使用字符串子表達式來避免合併變量兼容的字符@JeffZeitlin這還允許你指定範圍,例如, '$ {script:Workstation}' – TheIncorrigible1

+0

是的,那是我一直忘記的東西。這不是我發佈你的後發現的錯誤,當我不在函數中時,我使用了函數中的$ ComputerName。粗心閱讀我的部分。 –

相關問題