我是python的新手,除了语言本身,我正在探索它的各个方面.在编译成.exe方面(这样它可以在不安装python的情况下部署)我检查了py2exe,新版本几年前停止了.然后pyInstaller,似乎已停止在python 2.7.
我可以获得所有python到exe编译器的列表吗?谢谢
我有一个主脚本,其中定义了一些常量.然后我有一个模块(psm1)来包含辅助函数.细节是:
在主脚本中,我将模块作为对象导入:
$cud2ADhleper = Import-Module -Force $cud2ADhelperModule -AsCustomObject
Run Code Online (Sandbox Code Playgroud)
在模块中,我有两个变量,
[string]$SQLServer = $null
Function SetSQLServerAddr ([string] $name)
{
$SQLServer = $name
}
Function GetSQLServerAddr
{
return $SQLServer
}
Run Code Online (Sandbox Code Playgroud)
我的理解是因为我没有$SQLServer从模块导出,这个变量应该是本地的,我应该能够设置/获取它.
事实证明不然.在我调用之后SetSQLServerAddr ([string] $name),然后callling GetSQLServerAddr返回$ null.我错过了什么?
我在Powershell中有以下代码
$filePath = "C:\my\programming\Powershell\output.test.txt"
try
{
$wStream = new-object IO.FileStream $filePath, [System.IO.FileMode]::Append, [IO.FileAccess]::Write, [IO.FileShare]::Read
$sWriter = New-Object System.IO.StreamWriter $wStream
$sWriter.writeLine("test")
}
Run Code Online (Sandbox Code Playgroud)
我一直收到错误:
无法转换参数"1",值为:"[IO.FileMode] :: Append","FileStream"键入"System.IO.FileMode":"无法转换值"[IO.FileMode] :: Append"to键入"System.IO.FileMode",因为枚举值无效.请指定以下枚举值之一,然后重试.可能的枚举值为"CreateNew,Create,Open,OpenOrCreate,Truncate,Append"."
我试过C#中的等价物,
FileStream fStream = null;
StreamWriter stWriter = null;
try
{
fStream = new FileStream(@"C:\my\programming\Powershell\output.txt", FileMode.Append, FileAccess.Write, FileShare.Read);
stWriter = new StreamWriter(fStream);
stWriter.WriteLine("hahha");
}
Run Code Online (Sandbox Code Playgroud)
它工作正常!
我的powershell脚本出了什么问题?顺便说一下,我在PowerShell上运行
Major Minor Build Revision
----- ----- ----- --------
3 2 0 2237
Run Code Online (Sandbox Code Playgroud) 我确信已经有很多讨论,但如何在应用程序中存储密码?(我的意思是不是要存储在数据库中的表中的用户密码,而是用于构建连接字符串的密码)
我已经看到过将其加密存储在平面文件(如xml文件)中的建议,然后在运行时读取它并对其进行解密.如果此应用程序在服务器上运行,这是一个非常好的选择,但是如果将应用程序部署到最终用户的PC上该怎么办?即平面文件将被复制到用户的电脑上.这仍然是一个好习惯吗?(我的直觉是'不')
我知道SecurityString的存在,但后来我在一篇文章中也读到了SecurityString也可以很容易地被分解.
使用Windows 7附带的密码存储库是个好主意吗?有没有以编程方式使用它的好例子?我在msdn中看过一个例子,但首先它标有'windows 8',其次当我下载文件并在visual studio 2012 EXPRESS中打开解决方案时,它无法打开.
欢迎提出任何建议......非常感谢.
--update--
假设该应用程序将在Windows域中的少数几台PC上运行.(1)启动时,应用程序将执行LDAP身份验证(活动目录).只有在成功验证后,应用程序才会继续运行,并且(2)在应用程序可以连接到数据库的场景后面,用户输入来查询数据库,这就是db passwd进入游戏构建连接字符串的地方(不,这不是SQL SERVER数据库所以我不认为使用Windows身份验证的选项是可行的,除非使用商业插件).
db驻留在同一个域中,并且已设置为允许某些范围的IP地址,并且已启用SSL.简而言之,从这个意义上讲它是非常安全的.唯一尚不安全的是如何为应用程序存储db passwd.
引起我注意的是Mysql Workbench.它将保存数据库连接,包括密码 - 存储在密码保险库中.这是mysql自己的密码保险库实现,我很好奇它是如何完成的.
我正在尝试将域用户授予SQL Server 2008.此用户应该能够使用服务器管理工作室登录到数据库,并运行PowerShell脚本对数据库执行SELECT查询.我的问题是我的设置不存在.
在服务器管理工作室中,我右键单击Security-> Logins->右键单击 - > Properties-> User mappings->勾选我的数据库,这恰好是第一个,授予'db_datareader'和'public'.单击确定.
没有错误弹出.但是当我再次检查用户映射时,我的数据库不再被勾选!我错过了什么?真的很困惑......一定很简单......

--update--:
soved:删除登录+用户,添加回来,其余的......现在好了.很多!
我正在做一个powershell脚本,它在AD中创建新的域用户帐户,并在文件服务器中创建具有相关权限的主目录.
我的问题是我无法获得权限设置.
在下面的代码中,my_fileServer是文件服务器名称; sso表示单点登录ID,在下面的测试代码中设置为"user9999".
任何帮助是极大的赞赏!
Set-Variable homeDir -option Constant -value "\\my_fileServer\Users"
Set-Variable sso -option Constant -value "user9999"
# If the folder for the user does not exist, make a new one and set the correct permissions.
if ( (Test-Path "$homeDir\$sso") -eq $false)
{
try
{
$NewFolder = New-Item -Path $homeDir -Name $sso -ItemType "Directory"
$Rights = [System.Security.AccessControl.FileSystemRights]"FullControl,Modify,ReadAndExecute,ListDirectory,Read,Write"
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::None
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::None
$objType =[System.Security.AccessControl.AccessControlType]::Allow
$objUser = New-Object System.Security.Principal.NTAccount "my_full_domain_name\$sso"
$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule `
($objUser, $Rights, $InheritanceFlag, $PropagationFlag, $objType) …Run Code Online (Sandbox Code Playgroud) 我是Qt的新手,但对C++有很好的把握.我刚刚学习了qt design(QT5)来生成GUI和.ui文件,并在VS 2012中进行编码.
现在有一个古老的项目,纯手工编写,没有qt设计.为了维护它,代码仍然需要手工编写.
是否有任何qt工具可以对代码进行反向工程以生成qt设计可以工作的东西?那么任何未来的GUI修改都可以在qt设计中使用?
非常感谢
我得到了以下代码:
T *p = new T[10];
delete p;
Run Code Online (Sandbox Code Playgroud)
它应该是删除[] p,我想.我在T = int类型上尝试过它,没有错误.然后我创建了一个简单的类,异常.任何明确的解释?
T *p = 0;
delete p;
Run Code Online (Sandbox Code Playgroud)
他们怎么了?[我查了一下,似乎虽然删除p会导致错误,但程序恢复因为编译器首先认为p == 0,所以这个错误并不重要.]
powershell ×3
c++ ×2
c# ×1
filestream ×1
memory-leaks ×1
module ×1
passwords ×1
pointers ×1
python ×1
qt ×1
sql-server ×1
templates ×1