修改
我想使用特定帐户检索会话数据
电源外壳。根据这个文件:
https://docs.microsoft.com/en-us/powershell/module/skype/get-csusersession?view=skype-ps
Get-CsUserSession
命令可以执行此操作。我正在使用这个
根据上面的链接示例命令
Get-CsUserSession -User account@companyX.onmicrosoft.com -StartDate "6/1/2018 07:00 PM"
然后我收到以下错误:
A parameter cannot be found that matches parameter name 'StartDate'.
+ CategoryInfo : InvalidArgument: (:) [Get-CsUserSession], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.Rtc.Management.Hosted.Data.GetCsUserSessionCmdlet
+ PSComputerName : admin1e.online.lync.com
这有什么问题,什么是正确的声明?
$credential = Get-Credential
Import-Module MSOnline
Connect-MsolService -Credential
$credential Import-Module SkypeOnlineConnector
$lyncSession = New-CsOnlineSession -Credential
$credential Import-PSSession $lyncSession
我想要做的是使用PowerShell脚本中的特定静态帐户和密码设置(使用某种声明变量字符串),而不是运行此命令,并且必须在单独的窗口中键入凭据。这意味着我想避免使用$credential = Get-Credential
命令。这可能吗?
答案 0 :(得分:2)
正如documentation you linked中所述(尽管只在顶部段落中说明),您必须使用StartTime
而不是StartDate
。您收到的错误是您在参数名称中输入拼写错误或该参数不存在的典型症状。
稍后我会请求更改文档中的示例,看起来像编写它们的人正在混淆另一个cmdlet。
编辑:要存储凭据,您可以输出密码,如下所示:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File C:\Users\username\password2.txt
然后像这样导入:
$password = Get-Content -Path "C:\Users\USUARIOPC\password2.txt" | ConvertTo-SecureString -String $password
$credential = New-Object System.Management.Automation.PsCredential("yourlogin@domain.com", $password)
答案 1 :(得分:0)
与此同时,我尝试了以下查询。在脚本中使用密码可能不太安全,但对于想要这样做的人来说这是一个很好的解决方案。
$username = "account1@companyX.onmicrosoft.com"
$password = "abcdefg"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
$credential = $cred
Import-Module MSOnline
Connect-MsolService -Credential $credential
Import-Module SkypeOnlineConnector
$SFBSession = New-CsOnlineSession -Credential $credential
Import-PSSession $SFBSession